Traffic advertisement in neighbor aware network (NAN) data path

ABSTRACT

A method of communication includes generating a traffic advertisement at a particular device. The traffic advertisement indicates availability of data to be sent by the particular device to multiple devices. The method also includes sending, from the particular device, the traffic advertisement during a paging window. The method further includes receiving an unavailable message from a first device of the multiple devices during a data transmission window that is subsequent to the paging window. The method also includes, in response to receiving the unavailable message from the first device, refraining from sending first data from the particular device to the first device during the data transmission window.

I. CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication No. 62/091,081, filed Dec. 12, 2014 and entitled “TRAFFICADVERTISEMENT IN NEIGHBOR AWARE NETWORK (NAN) DATA PATH”, U.S.Provisional Patent Application No. 62/129,536, filed Mar. 6, 2015 andentitled “TRAFFIC ADVERTISEMENT IN NEIGHBOR AWARE NETWORK (NAN) DATAPATH”, U.S. Provisional Patent Application No. 62/165,106, filed May 21,2015 and entitled “TRAFFIC ADVERTISEMENT IN NEIGHBOR AWARE NETWORK (NAN)DATA PATH”, and U.S. Provisional Patent Application No. 62/195,257,filed Jul. 21, 2015 and entitled “TRAFFIC ADVERTISEMENT IN NEIGHBORAWARE NETWORK (NAN) DATA PATH”; the contents of each of theaforementioned applications are expressly incorporated herein byreference in their entirety.

II. FIELD

The present disclosure is generally related to traffic advertisement ina neighbor aware network (NAN) data path.

III. DESCRIPTION OF RELATED ART

Advances in technology have resulted in smaller and more powerfulcomputing devices. For example, there exist a variety of portablepersonal computing devices, including wireless computing devices, suchas portable wireless telephones, personal digital assistants (PDAs), andpaging devices that are small, lightweight, and easily carried by users.More specifically, portable wireless telephones, such as cellulartelephones and Internet protocol (IP) telephones, can communicate voiceand data packets over wireless networks. Further, many such wirelesstelephones include other types of devices that are incorporated therein.For example, a wireless telephone can also include a digital stillcamera, a digital video camera, a digital recorder, and an audio fileplayer. Also, such wireless telephones can process executableinstructions, including software applications, such as a web browserapplication, that can be used to access the Internet. As such, thesewireless telephones can include significant computing capabilities.

Electronic devices, such as wireless telephones, may use wirelessconnections to access networks in order to transmit and receive data orto exchange information. For example, mobile electronic devices that arein close proximity to each other may form a wireless mesh network toperform data exchanges via the wireless mesh network (e.g., withoutinvolving wireless carriers, Wi-Fi access points, or the Internet). Toenable functionality of the wireless mesh network, a particular wirelessnetwork (e.g., a particular wireless channel of the particular wirelessnetwork) may be reserved for transferring data between electronicdevices of the wireless mesh network. For example, a “provider” deviceof the wireless mesh network may share a service, e.g., a music service,with other electronic devices in the wireless mesh network. Toillustrate, the provider device may transmit music data to a subscriberdevice in the wireless mesh network. Because the subscriber device doesnot know when the provider device will transmit the data (e.g., themusic data), the subscriber device may substantially continuouslymonitor the wireless mesh network for transmissions from the providerdevice. Accordingly, the subscriber device consumes power to monitor thewireless mesh network, even during time periods when the provider deviceis not transmitting data to the subscriber device.

IV. SUMMARY

The present disclosure is directed to systems and methods to enableelectronic devices in a data path group of a neighbor aware network(alternatively referred to as neighbor awareness networking) (NAN) touse traffic advertisements to coordinate times to exchange traffic(e.g., data) of a particular service. As referred to herein, a “datapath group” refers to one or more electronic devices that share a timeperiod (e.g., a time block) corresponding to an active operating mode ofthe electronic devices (e.g., a paging window) and that have commonsecurity credentials. For example, a data path group may include awireless mesh network (e.g., a “social wireless fidelity (wi-fi) mesh(SWF-mesh)”). The one or more electronic devices of the data path groupmay be a subset of electronic devices in the NAN. As referred to herein,“data path (DP)”, “NAN DP (NDP)”, “NAN data link (NDL) group”, “NDL”, or“NAN DP group” may refer to the data path group. The data path group maybe restricted based on security credentials. A restricted data pathgroup may be based on out-of-band credentials.

The data path group may be initiated by a provider device of the NANsending a message (e.g., a service advertisement) to electronic devicesof the NAN during a discovery window. The service advertisement mayindicate that the provider device is available to provide a particularservice via a plurality of logical channels. As referred to herein, a“discovery window” refers to a time period (or a time block)corresponding to an active operating mode of the electronic devices ofthe NAN. During the discovery window, one or more of the electronicdevices of the NAN may listen to (e.g., monitor) a NAN communicationchannel (e.g., a particular wireless channel) for serviceadvertisements.

As referred to herein, a “logical channel” refers to the combination ofa particular (physical) communication channel(s) and one or more timeperiods (e.g., one or more transmission windows) during which theelectronic devices of the data path group may communicate regarding theparticular service via the particular communication channel(s).

A subscriber device of the NAN may respond to a service advertisement bysending a subscribe message to the provider device. A particular datapath group may correspond to the particular service and to the pluralityof logical channels indicated in the service advertisement. For example,the particular data path group may include the provider device and oneor more subscriber devices that sent a subscribe message responsive tothe service advertisement. Each transmission window of a particularlogical channel may include a portion of time (e.g., a paging window)during which a provider device of the data path group may send a trafficadvertisement (e.g., a paging message) via the particular communicationchannel to a set of subscriber devices of the data path group.Electronic devices of the data path group may listen to (e.g., monitor)the (physical) communication channel(s) during at least a portion of oneor more paging windows associated with the logical channel.

The traffic advertisement may indicate availability of data to be sentby the provider device to one or more subscriber devices of the set ofsubscriber devices. For example, the traffic advertisement may indicatemultiple subscriber devices as data recipients. The data may includefirst data to be sent to a first subscriber device of the multiplesubscriber devices and second data to be sent to a second subscriberdevice of the multiple subscriber devices. An acknowledging subscriberdevice of the multiple subscriber devices may send an acknowledgement(ACK) to the provider device in response to determining that theacknowledging subscriber device is a “leader” device of the multipledata subscriber devices. The leader device may be a subscriber devicethat sends the ACK in response to receiving the traffic advertisement. Asingle subscriber device of the multiple subscriber devices may be theleader device. The provider device may determine that the trafficadvertisement has been successfully received by at least one subscriberdevice in response to receiving the ACK from one (e.g., the leaderdevice) of the multiple subscriber devices.

The traffic advertisement may indicate the leader device that is to sendthe ACK. The acknowledging subscriber device may send the ACK inresponse to determining that the traffic advertisement indicates thatthe acknowledging subscriber device is the leader device. Alternatively,the acknowledging subscriber device may determine that the acknowledgingsubscriber device is the leader device in response to determining thatanother ACK from another subscriber device to the provider device isundetected within a particular duration of receiving the trafficadvertisement.

The acknowledging subscriber device may send the ACK via the particularcommunication channel to the provider device during the paging window.Network resources may be conserved by having a subscriber device sendthe ACK based on determining whether the subscriber device is the leaderdevice, as compared to having all subscriber devices send ACKs inresponse to receiving the traffic advertisement.

The provider device may receive a trigger message from a requestingsubscriber device (e.g., the first subscriber device or the secondsubscriber device) of the multiple subscriber devices. The requestingsubscriber device may be the same as or distinct from the acknowledgingsubscriber device. The provider device may, in response to receiving thetrigger message, send data (e.g., the first data or the second data) tothe requesting subscriber device (e.g., the first subscriber device orthe second subscriber device) via the particular communication channelduring a second portion (e.g., a data transmission window) of thetransmission window. The second portion (e.g., an ending portion) of thetransmission window may be subsequent to the paging window. The triggermessage may be received during a trigger slot subsequent to the pagingwindow and prior to the data transmission window. Alternatively, thetrigger message may be received during a beginning portion of the datatransmission window or during the data transmission window.

The requesting subscriber device may send the trigger message inresponse to receiving a trigger request from the provider device. Forexample, the provider device may send the trigger request to one or moreof the multiple subscriber devices during the trigger slot, during thebeginning portion of the data transmission window, or during the datatransmission window.

In a particular example, a device (e.g., the provider device or asubscriber device) may transmit control messages (e.g., a trafficadvertisement, an ACK, a trigger, or a trigger message) based on anaccess category of corresponding data. For example, voice data may beassociated with a first access category, and background data may beassociated with a second access category. The device may includemultiple transmission queues corresponding to multiple accesscategories. The device may add a control message to a transmission queuebased on an access category of corresponding data. For example, thedevice may add a control message to a first transmission queue inresponse to determining that data corresponding to the control messageand the first transmission queue are both associated with the sameaccess category (e.g., a first access category). The device may processthe transmission queues in an order based on corresponding accesscategories. For example, the first transmission queue may be processedprior to (or subsequent to) a second transmission queue associated witha second access category.

The device may determine that transmission of a control message is to bedelayed. For example, the device may determine that transmission of thecontrol message is to be delayed in response to determining that atransmission medium is busy. As another example, the device maydetermine that transmission of the control message is to be delayed inresponse to determining that the first transmission queue is to beprocessed subsequent to the second transmission queue based on the firstaccess category and the second access category. The device may determinea first delay in response to determining that transmission of thecontrol message is to be delayed. The device may send the controlmessage upon expiration of a delay period. The delay period may be basedon the first delay. For example, the delay period may begin, at a firsttime, in response to detecting that the transmission medium is idle. Thedelay period may expire in response to determining that the transmissionmedium remained idle subsequent to the first time during a time intervalthat is based on the first delay. The first delay associated with thefirst access category may be shorter than a second delay associated withthe second access category. Transmission of control messages associatedwith the first access category may thus be prioritized over transmissionof messages (e.g., control messages or data packets) associated with thesecond access category.

At least one of the disclosed aspects may enable an electronic device ofthe NAN to transition to an inactive mode during particular time periods(or time blocks) to conserve resources. The electronic device may, whileoperating in the inactive mode, refrain from monitoring a communicationchannel (e.g., the NAN communication channel), transition to a low-poweroperating mode (e.g., a “sleep mode” or a power save mode), performoperations (or actions) related to another network, or a combinationthereof. The actions may include participating in the other network,communicating with at least one device of the other network, or both.Participating in the other network may include exchanging one or moremessages with a device of the other network. Communicating with at leastone device of the other network may include exchanging messages with theat least one device. The other network may include a second NDL group,an AP based network, an infrastructure (Infra) based network, an IBSSnetwork, or a wireless fidelity (WiFi) direct network.

In a particular aspect, the electronic device may transition to theinactive mode in response to determining that a service advertisement isnot received (or sent), or that a subscribe message responsive to theservice advertisement is not sent (or received) during a discoverywindow. The electronic device may transition to the inactive mode untila subsequent discovery window. While in the inactive mode, theelectronic device may refrain from monitoring the NAN communicationchannel.

As another example, in response to determining that no trafficadvertisement indicating the subscriber device as a data recipient hasbeen received during the paging window or that no trigger request hasbeen received during the trigger slot (or during the beginning portionof the data transmission window), the subscriber device may transitionto the inactive mode during a remaining portion of the transmissionwindow. While in the inactive mode, the subscriber device may refrainfrom monitoring the particular communication channel (e.g., until thesubscriber device exits the inactive mode at the start of a subsequentpaging window).

As a further example, in response to determining that no ACK responsiveto the traffic advertisement has been received during the paging windowor that no trigger messages have been received during the trigger slot(or during the beginning portion of the data transmission window), theprovider device may transition to the inactive mode during a remainingportion of the transmission window. While in the inactive mode, theprovider device may refrain from monitoring the particular communicationchannel (e.g., until the provider device exits the inactive mode at thestart of a subsequent paging window).

In a particular aspect, a method of communication includes generating atraffic advertisement at a particular device. The traffic advertisementindicates availability of data to be sent by the particular device tomultiple devices of a set of devices. The data includes first data to besent to a first device of the multiple devices and second data to besent to a second device of the multiple devices. The method alsoincludes sending, from the particular device, the traffic advertisementduring a paging window. The method further includes receiving a firstacknowledgement (ACK) during the paging window at the particular devicefrom an acknowledging device. The method also includes sending the firstdata from the particular device to the first device during a datatransmission window.

In another aspect, a method of communication includes generating atraffic advertisement at a particular device. The traffic advertisementindicates availability of data to be sent by the particular device tomultiple devices of a set of devices. The data includes first data to besent to a first device of the multiple devices and second data to besent to a second device of the multiple devices. The method alsoincludes sending, from the particular device, the traffic advertisementduring a paging window. The method further includes receiving a firstacknowledgement (ACK) during the paging window at the particular devicefrom the first device. The method also includes receiving a triggermessage from the second device. The method further includes sending thefirst data from the particular device to the first device during a datatransmission window. The method further includes, in response todetecting receipt of the trigger message from the second device, sendingthe second data from the particular device to the second device duringthe data transmission window without receiving a second ACK during thepaging window from the second device. For example, data may be sent todata recipients (e.g., the first device and the second device) duringthe data transmission window based on receiving an ACK from fewer thanall of the data recipients during the paging window.

In another aspect, a method of communication includes receiving atraffic advertisement at a first device from a particular device. Thetraffic advertisement indicates availability of data to be sent by theparticular device to multiple devices of a set of devices. The methodalso includes determining, at the first device, whether the first deviceis a leader device of the multiple devices. The method further includessending an acknowledgement (ACK) from the first device to the particulardevice based on the determination. For example, the ACK may be sent fromthe first device to the particular device in response to determiningthat the first device is the leader device. As another example, thefirst device may refrain from sending the ACK to the particular devicein response to determining that the first device is not the leaderdevice.

In another particular aspect, a computer-readable storage device forcommunication stores instructions that, when executed by a processor,cause the processor to perform operations including generating a trafficadvertisement indicating availability of data to be sent to multipledevices of a set of devices. The data includes first data to be sent toa first device of the multiple devices. The operations also includeinitiating sending of the traffic advertisement during a paging window.The operations further include, in response to detecting receipt of atrigger message from the first device, initiating sending of the firstdata to the first device during a data transmission window independentlyof detecting receipt of an acknowledgement (ACK) responsive to thetraffic advertisement from the first device. For example, data may besent to a data recipient (e.g., the first device) during the datatransmission window independently of receiving an ACK during the pagingwindow.

In another particular aspect, a computer-readable storage device forcommunication stores instructions that, when executed by a processor,cause the processor to perform operations including receiving a trafficadvertisement at a first device from a particular device. The trafficadvertisement indicates availability of data to be sent by theparticular device to multiple devices of a set of devices. Theoperations also include determining, at the first device, whether thefirst device is a leader device of the multiple devices. The operationsfurther include sending an acknowledgement (ACK) from the first deviceto the particular device based on the determination. For example, theACK may be sent to the particular device in response to determining thatthe first device is the leader device. As another example, theoperations may include refraining from sending the ACK to the particulardevice in response to determining that the first device is not theleader device.

In another particular aspect, an apparatus for communication includes atraffic advertisement generator and a transceiver. The trafficadvertisement generator is configured to generate a trafficadvertisement indicating availability of data to be sent to multipledevices of a set of devices. The data includes first data to be sent toa first device of the multiple devices and second data to be sent to asecond device of the multiple devices. The transceiver is configured tosend the traffic advertisement during a paging window, to receive afirst acknowledgement (ACK) during the paging window from the firstdevice, and to send the first data to the first device during a datatransmission window. The transceiver is also configured to send thesecond data to the second device during the data transmission windowwithout receiving a second ACK from the second device during the pagingwindow. For example, data may be sent to data recipients (e.g., thefirst device and the second device) during the data transmission windowbased on receiving an ACK from fewer than all of the data recipientsduring the paging window.

In another particular aspect, an apparatus for communication includes areceiver, a traffic advertisement analyzer, and a transmitter. Thereceiver is configured to receive a traffic advertisement from aparticular device. The traffic advertisement indicates availability ofdata to be sent by the particular device to multiple devices of a set ofdevices. The traffic advertisement analyzer is configured to determinewhether the apparatus is a leader device of the multiple devices. Thetransmitter is configured to send an acknowledgement (ACK) to theparticular device in response to the traffic advertisement analyzerdetermining that the apparatus is the leader device. The transmitter isalso configured to refrain from sending the ACK to the particular devicein response to the traffic advertisement analyzer determining that theapparatus is not the leader device.

In another particular aspect, a method of communication includesgenerating a control message at a particular device. The control messageindicates availability of data to be sent by the particular device. Thedata includes first data corresponding to a first access category. Themethod also includes, subsequent to determining that transmission of thecontrol message is to be delayed, determining a first delay based on thefirst access category. The method further includes sending the controlmessage from the particular device upon expiration of a delay period.The delay period is based on the first delay.

In another particular aspect, a method of communication includesreceiving a traffic advertisement at a first device from a particulardevice. The traffic advertisement indicates availability of data to besent by the particular device. The data includes first data associatedwith a first access category. The method also includes generating acontrol message based on the traffic advertisement. The control messageincludes an acknowledgement (ACK) or a trigger message. The method alsoincludes, subsequent to determining that transmission of the controlmessage is to be delayed, determining a first delay based on the firstaccess category. The method further includes sending the control messagefrom the first device to the particular device upon expiration of adelay period based on the first delay.

In another particular aspect, a computer-readable storage device forcommunication stores instructions that, when executed by a processor,cause the processor to perform operations including generating a controlmessage indicating availability of data to be sent to at least onedevice of a set of devices. The data includes first data correspondingto a first access category. The operations also include, subsequent todetermining that transmission of the control message is to be delayed,determining a first delay based on the first access category. Theoperations further include sending the control message upon expirationof a delay period. The delay period is based on the first delay.

In another particular aspect, a computer-readable storage device forcommunication stores instructions that, when executed by a processor,cause the processor to perform operations including receiving a trafficadvertisement at a first device from a particular device. The trafficadvertisement indicates availability of data to be sent by theparticular device. The data includes first data associated with a firstaccess category. The operations also include generating a controlmessage based on the traffic advertisement. The control message includesan acknowledgement (ACK) or a trigger message. The operations furtherinclude, subsequent to determining that transmission of the controlmessage is to be delayed, determining a first delay based on the firstaccess category. The operations also include sending the control messagefrom the first device to the particular device upon expiration of adelay period based on the first delay.

In another particular aspect, an apparatus for communication includes aprocessor and a transmitter. The processor is configured to generate acontrol message at a particular device. The control message indicatesavailability of data to be sent by the particular device. The controlmessage indicates that the data includes first data corresponding to afirst access category. The transmitter is configured to send the controlmessage from the particular device.

In another particular aspect, an apparatus for communication includes areceiver, a traffic advertisement analyzer, and a transmitter. Thereceiver is configured to receive a traffic advertisement from aparticular device. The traffic advertisement indicates availability ofdata to be sent by the particular device. The data includes first dataassociated with a first access category. The traffic advertisementanalyzer is configured to generate a control message based on thetraffic advertisement. The control message includes an acknowledgement(ACK) or a trigger message. The traffic advertisement analyzer is alsoconfigured to determine a first delay based on the first access categoryin response to determining that transmission of the control message isto be delayed. The transmitter is configured to send the control messageto the particular device upon expiration of a delay period. The delayperiod is based on the first delay.

In another aspect, a method of communication includes generating atraffic advertisement at a particular device. The traffic advertisementindicates availability of data to be sent by the particular device tomultiple devices. The method also includes sending, from the particulardevice, the traffic advertisement during a paging window. The methodfurther includes receiving an unavailable message from a first device ofthe multiple devices during a data transmission window that issubsequent to the paging window. The method also includes, in responseto receiving the unavailable message from the first device, refrainingfrom sending first data from the particular device to the first deviceduring the data transmission window.

In another aspect, a method of communication includes receiving atraffic advertisement at a first device from a particular device duringa paging window. The traffic advertisement indicates availability ofdata to be sent by the particular device. The method also includesdetermining, during a data transmission window, that the first device isunavailable to receive the data. The method further includes, inresponse to the determination, sending an unavailable message from thefirst device to the particular device during the data transmissionwindow.

In another aspect, a method of communication includes generating atraffic advertisement at a particular device. The traffic advertisementindicates availability of data to be sent by the particular device tomultiple devices. The data includes first data to be sent to a firstdevice of the multiple devices and second data to be sent to a seconddevice of the multiple devices. The method also includes sending, fromthe particular device, the traffic advertisement during a paging window.The method further includes receiving a limited availability messagefrom the first device during the paging window or a data transmissionwindow that is subsequent to the paging window. The method alsoincludes, in response to receiving the limited availability message fromthe first device, sending the first data to the first device during thedata transmission window prior to sending the second data to the seconddevice during the data transmission window.

In another aspect, a method of communication includes receiving atraffic advertisement at a first device from a particular device duringa paging window. The traffic advertisement indicates availability ofdata to be sent by the particular device. The method also includesdetermining that the first device is expected to be unavailable toreceive the data during a portion of a data transmission window that issubsequent to the paging window. The method further includes, inresponse to the determination, sending a limited availability messagefrom the first device to the particular device during the paging windowor the data transmission window.

In another aspect, a method of communication includes generating atraffic advertisement at a particular device. The traffic advertisementindicates availability of data to be sent by the particular device tomultiple devices. The method also includes sending, from the particulardevice, the traffic advertisement during a paging window. The methodfurther includes monitoring a communication channel during a firstportion of a data transmission window irrespective of whether anacknowledgement (ACK) is received during the paging window. The datatransmission window is subsequent to the paging window.

In another aspect, a computer-readable storage device for communicationstores instructions that, when executed by a processor, cause theprocessor to perform operations including generating a trafficadvertisement indicating availability of data to be sent to multipledevices. The operations also include sending the traffic advertisementduring a paging window. The operations further include receiving anunavailable message from a first device of the multiple devices during adata transmission window that is subsequent to the paging window. Theoperations also include, in response to receiving the unavailablemessage from the first device, refraining from sending first data to thefirst device during the data transmission window.

In another aspect, a computer-readable storage device for communicationstores instructions that, when executed by a processor, cause theprocessor to perform operations including receiving a trafficadvertisement at a first device from a particular device during a pagingwindow. The traffic advertisement indicates availability of data to besent by the particular device. The operations also include determining,during a data transmission window, that the first device is unavailableto receive the data. The operations further include, in response to thedetermination, sending an unavailable message from the first device tothe particular device during the data transmission window.

In another aspect, a computer-readable storage device for communicationstores instructions that, when executed by a processor, cause theprocessor to perform operations including generating a trafficadvertisement indicating availability of data to be sent to multipledevices. The data includes first data to be sent to a first device ofthe multiple devices and second data to be sent to a second device ofthe multiple devices. The operations also include sending the trafficadvertisement during a paging window. The operations further includereceiving a limited availability message from the first device duringthe paging window or a data transmission window that is subsequent tothe paging window. The operations also include, in response to receivingthe limited availability message from the first device, sending thefirst data to the first device during the data transmission window priorto sending the second data to the second device during the datatransmission window.

In another aspect, a computer-readable storage device for communicationstores instructions that, when executed by a processor, cause theprocessor to perform operations including receiving a trafficadvertisement at a first device from a particular device during a pagingwindow. The traffic advertisement indicates availability of data to besent by the particular device. The operations also include determiningthat the first device is expected to be unavailable to receive the dataduring a portion of a data transmission window that is subsequent to thepaging window. The operations further include, in response to thedetermination, sending a limited availability message from the firstdevice to the particular device during the paging window or the datatransmission window.

In another aspect, a computer-readable storage device for communicationstores instructions that, when executed by a processor, cause theprocessor to perform operations including generating a trafficadvertisement indicating availability of data to be sent to multipledevices. The operations also include sending the traffic advertisementduring a paging window. The operations further include monitoring acommunication channel during a first portion of a data transmissionwindow irrespective of whether an acknowledgement (ACK) is receivedduring the paging window. The data transmission window is subsequent tothe paging window.

In another aspect, an apparatus includes a processor, a transmitter, anda receiver. The processor is configured to generate a trafficadvertisement indicating availability of data to be sent to multipledevices. The transmitter is configured to send the traffic advertisementduring a paging window. The transmitter is also configured to, inresponse to receiving an unavailable message from a first device of themultiple devices during a data transmission window that is subsequent tothe paging window, refrain from sending first data to the first deviceduring the data transmission window. The receiver is configured toreceive the unavailable message from the first device during the datatransmission window.

In another aspect, an apparatus includes a receiver, a processor, and atransmitter. The receiver is configured to receive a trafficadvertisement from a particular device during a paging window. Thetraffic advertisement indicates availability of data to be sent by theparticular device. The processor is configured to determine, during adata transmission window, that the apparatus is unavailable to receivethe data. The transmitter is configured to, in response to thedetermination that the apparatus is unavailable to receive the data,send an unavailable message to the particular device during the datatransmission window.

In another aspect, an apparatus includes a processor, a transmitter, anda receiver. The processor is configured to generate a trafficadvertisement. The traffic advertisement indicates availability of datato be sent to multiple devices. The data includes first data to be sentto a first device of the multiple devices and second data to be sent toa second device of the multiple devices. The transmitter is configuredto send the traffic advertisement during a paging window. The receiveris configured to receive a limited availability message from the firstdevice. The transmitter is also configured to, in response todetermining that the limited availability message has been received fromthe first device, send the first data to the first device during a datatransmission window prior to sending the second data to the seconddevice during the data transmission window. The data transmission windowis subsequent to the paging window.

In another aspect, an apparatus includes a receiver, a processor, and atransmitter. The receiver is configured to receive a trafficadvertisement from a particular device during a paging window. Thetraffic advertisement indicates availability of data to be sent by theparticular device. The processor is configured to determine that theapparatus is expected to be unavailable to receive the data during aportion of a data transmission window that is subsequent to the pagingwindow. The transmitter is configured to, in response to thedetermination that the apparatus is expected to be unavailable, send alimited availability message to the particular device during the pagingwindow or the data transmission window.

In another aspect, an apparatus includes a processor, a transmitter, anda receiver. The processor is configured to generate a trafficadvertisement indicating availability of data to be sent to multipledevices. The transmitter is configured to send the traffic advertisementduring a paging window. The receiver is configured to monitor acommunication channel during a first portion of a data transmissionwindow irrespective of whether an acknowledgement (ACK) is receivedduring the paging window, wherein the data transmission window issubsequent to the paging window.

In another aspect, an apparatus for communication includes a processorand an interface. The processor is configured to monitor a communicationchannel during a first portion of a neighbor aware network (NAN) datalink (NDL) time block independently of receiving a traffic advertisementfrom a device indicating that the device will send first data during theNDL time block. The interface is configured to receive the first datafrom the device during the first portion of the NDL time block.

In another aspect, a method of communication includes receiving a packetat a first device from a second device. The first device is operating ina promiscuous mode. The method also includes selectively processing thepacket based on determining the first device is associated with thesecond device, the packet includes a group identifier of a group ofdevices including the first device, the packet corresponds to an activetraffic session between the first device and the second device, or acombination thereof.

In another aspect, a method of communication includes generating, at adevice, a frame having a neighbor aware network (NAN) service discoveryframe format. The frame includes a traffic announcement attribute thatindicates availability of data to be sent by the device. The method alsoincludes sending the frame during a communication window.

In another aspect, a method of communication includes receiving a frameat a first device from a second device. The frame has a neighbor awarenetwork (NAN) service discovery frame format. The method also includesdetermining the frame includes a traffic announcement attributeindicating availability of data to be sent by the second device to oneor more devices. The method further includes monitoring a communicationchannel during a NAN data link (NDL) time block based on thedetermination.

In another aspect, a method of communication includes generating, at afirst device, a traffic advertisement indicating availability of data tobe sent by the first device to at least one second device. The methodalso includes sending the traffic advertisement during an initialportion of a neighbor aware network (NAN) data link (NDL) time block.The method further includes sending first data to the second deviceduring the NDL time block. The first data is sent independently ofreceiving an acknowledgement (ACK) responsive to the trafficadvertisement from the second device.

In another aspect, a method of communication includes receiving atraffic advertisement at a first device from a second device during aninitial portion of a neighbor aware network (NAN) data link (NDL) timeblock. The traffic advertisement indicates availability of data to besent by the second device to one or more recipient devices. The methodalso includes monitoring a communication channel at the first deviceduring at least a first portion of the NDL time block based ondetermining that the first device is included in the one or morerecipient devices. The communication channel is monitored independentlyof whether an acknowledgment (ACK) responsive to the trafficadvertisement is detected from the one or more recipient devices.

In another aspect, a method of communication includes generating, at afirst device, a traffic page indicating that the first device will notsend data to a second device during a neighbor aware network (NAN) datalink (NDL) time block. The method also includes transmitting the trafficpage during the NDL time block.

In another aspect, a method of communication includes receiving atraffic page at a first device from a second device. The traffic pageindicates that the second device will not send data to one or morenon-recipient devices. The method also includes determining whether tomonitor a communication channel during a first portion of a neighboraware network (NAN) data link (NDL) time block based on whether thefirst device is included in the one or more non-recipient devices.

In another aspect, a method of communication includes monitoring, at afirst device, a communication channel during a neighbor aware network(NAN) data link (NDL) time block independently of receiving a trafficadvertisement from a second device indicating that the second devicewill send first data to the first device during the NDL time block. Themethod also includes receiving the first data from the second deviceduring the first portion of the NDL time block.

In another aspect, a method of communication includes generating, at afirst device, a notice of absence indicating that the first device isunavailable to participate in at least one neighbor aware network (NAN)data link (NDL) group. The method also includes transmitting, from thefirst device, the notice of absence during a NAN discovery window.

In another aspect, a method of communication includes receiving a noticeof absence at a first device from a second device during a neighboraware network (NAN) discovery window. The notice of absence indicatesthat the second device is unavailable to participate in at least one NANdata link (NDL) group. The method also includes determining that thefirst device will not send first data associated with the at least oneNDL group to the second device during at least a portion of one or morediscovery intervals subsequent to the NAN discovery window.

In another aspect, a method of communication includes exchanging, at afirst device, a negotiation message with a second device. The methodalso includes determining, at the first device, whether to send atraffic message during a neighbor aware network (NAN) data link (NDL)time block based on the negotiation message.

In another aspect, a method of communication includes exchanging, at afirst device, a negotiation message with a second device. The methodalso includes receiving a traffic message from the second device. Themethod further includes selectively processing the traffic message basedon the negotiation message.

In another aspect, a method of communication includes generating, at afirst device, a service advertisement indicating that the first devicesupports traffic messaging. The method also includes transmitting theservice advertisement.

In another aspect, a computer-readable storage device storesinstructions that, when executed by a processor, cause the processor toperform operations including receiving a packet at a first device from asecond device. The first device is operating in a promiscuous mode. Theoperations also include selectively processing the packet based ondetermining the first device is associated with the second device, thepacket includes a group identifier of a group of devices including thefirst device, the packet corresponds to an active traffic sessionbetween the first device and the second device, or a combinationthereof.

In another aspect, a computer-readable storage device storesinstructions that, when executed by a processor, cause the processor toperform operations including generating, at a device, a frame having aneighbor aware network (NAN) service discovery frame format. The frameincludes a traffic announcement attribute that indicates availability ofdata to be sent by the device. The operations also include sending theframe during a communication window.

In another aspect, a computer-readable storage device storesinstructions that, when executed by a processor, cause the processor toperform operations including receiving a frame at a first device from asecond device. The frame has a neighbor aware network (NAN) servicediscovery frame format. The operations also include determining theframe includes a traffic announcement attribute indicating availabilityof data to be sent by the second device to one or more devices. Theoperations further include monitoring a communication channel during aNAN data link (NDL) time block based on the determination.

In another aspect, a computer-readable storage device storesinstructions that, when executed by a processor, cause the processor toperform operations including generating, at a first device, a trafficadvertisement indicating availability of data to be sent by the firstdevice to at least one second device. The operations also includesending the traffic advertisement during an initial portion of aneighbor aware network (NAN) data link (NDL) time block. The operationsfurther include sending first data to the second device during the NDLtime block. The first data is sent independently of receiving anacknowledgement (ACK) responsive to the traffic advertisement from thesecond device.

In another aspect, a computer-readable storage device storesinstructions that, when executed by a processor, cause the processor toperform operations including receiving a traffic advertisement at afirst device from a second device during an initial portion of aneighbor aware network (NAN) data link (NDL) time block. The trafficadvertisement indicates availability of data to be sent by the seconddevice to one or more recipient devices. The operations also includemonitoring a communication channel at the first device during at least afirst portion of the NDL time block based on determining that the firstdevice is included in the one or more recipient devices. Thecommunication channel is monitored independently of whether anacknowledgment (ACK) responsive to the traffic advertisement is detectedfrom the one or more recipient devices.

In another aspect, a computer-readable storage device storesinstructions that, when executed by a processor, cause the processor toperform operations including generating, at a first device, a trafficpage indicating that the first device will not send data to a seconddevice during a neighbor aware network (NAN) data link (NDL) time block.The operations also include transmitting the traffic page during the NDLtime block.

In another aspect, a computer-readable storage device storesinstructions that, when executed by a processor, cause the processor toperform operations including receiving a traffic page at a first devicefrom a second device. The traffic page indicates that the second devicewill not send data to one or more non-recipient devices. The operationsalso include determining whether to monitor a communication channelduring a first portion of a neighbor aware network (NAN) data link (NDL)time block based on whether the first device is included in the one ormore non-recipient devices.

In another aspect, a computer-readable storage device storesinstructions that, when executed by a processor, cause the processor toperform operations including monitoring, at a first device, acommunication channel during a neighbor aware network (NAN) data link(NDL) time block independently of receiving a traffic advertisement froma second device indicating that the second device will send first datato the first device during the NDL time block. The operations alsoinclude receiving the first data from the second device during the firstportion of the NDL time block.

In another aspect, a device includes an interface and a processor. Theinterface is configured to receive a packet from a second device. Theinterface is configured to operate in a promiscuous mode. The processoris configured to selectively process the packet based on at least onecriterion.

In another aspect, a device includes a processor and a transmitter. Theprocessor is configured to generate, at a device, a frame having aneighbor aware network (NAN) service discovery frame format, a NANmanagement frame format, or both. The frame includes a trafficannouncement attribute that indicates availability of data to be sent bythe device. The transmitter is configured to send the frame during acommunication window.

In another aspect, a device includes an interface and a processor. Theinterface is configured to receive a frame from a second device. Theframe has a neighbor aware network (NAN) service discovery frame format.The processor is configured to determine the frame includes a trafficannouncement attribute indicating availability of data to be sent by thesecond device to one or more devices. The processor is also configuredto monitor a communication channel during a NAN data link (NDL) timeblock based on the determination.

In another aspect, a device includes a processor and an interface. Theprocessor is configured to generate a traffic advertisement indicatingavailability of data to be sent by the device to at least one seconddevice. The interface is configured to send the traffic advertisementduring an initial portion of a neighbor aware network (NAN) data link(NDL) time block. The interface is also configured to send first data tothe second device during the NDL time block. The first data is sentindependently of receiving an acknowledgement (ACK) responsive to thetraffic advertisement from the second device.

In another aspect, a device includes an interface and a processor. Theinterface is configured to receive a traffic advertisement from a seconddevice during an initial portion of a neighbor aware network (NAN) datalink (NDL) time block. The traffic advertisement indicates availabilityof data to be sent by the second device to one or more recipientdevices. The processor is configured to monitor a communication channelduring at least a first portion of the NDL time block based ondetermining that the device is included in the one or more recipientdevices. The communication channel is monitored independently of whetheran acknowledgment (ACK) responsive to the traffic advertisement isdetected from the one or more recipient devices.

In another aspect, a device includes a processor and an interface. Theprocessor is configured to generate a traffic page indicating that thedevice will not send data to a second device during a neighbor awarenetwork (NAN) data link (NDL) time block. The interface is configured totransmit the traffic page during the NDL time block.

In another aspect, a device includes an interface and a processor. Theinterface is configured to receive a traffic page from a second device.The traffic page indicates that the second device will not send data toone or more non-recipient devices. The processor is configured todetermine whether to monitor a communication channel during a firstportion of a neighbor aware network (NAN) data link (NDL) time blockbased on whether the device is included in the one or more non-recipientdevices.

In another aspect, a device includes a processor and an interface. Theprocessor is configured to monitor a communication channel during aneighbor aware network (NAN) data link (NDL) time block independently ofreceiving a traffic advertisement from a second device indicating thatthe second device will send first data to the device during the NDL timeblock. The interface is configured to receive the first data from thesecond device during the first portion of the NDL time block.

In another aspect, a computer-readable storage device storesinstructions that, when executed by a processor, cause the processor toperform operations including generating, at a first device, a notice ofabsence indicating that the first device is unavailable to participatein at least one neighbor aware network (NAN) data link (NDL) group. Theoperations also include transmitting, from the first device, the noticeof absence during a NAN discovery window.

In another aspect, a computer-readable storage device storesinstructions that, when executed by a processor, cause the processor toperform operations including receiving a notice of absence at a firstdevice from a second device during a neighbor aware network (NAN)discovery window. The notice of absence indicates that the second deviceis unavailable to participate in at least one NAN data link (NDL) group.The operations also include determining that the first device will notsend first data associated with the at least one NDL group to the seconddevice during at least a portion of one or more discovery intervalssubsequent to the NAN discovery window.

In another aspect, a computer-readable storage device storesinstructions that, when executed by a processor, cause the processor toperform operations including exchanging, at a first device, anegotiation message with a second device. The operations also includedetermining, at the first device, whether to send a traffic messageduring a neighbor aware network (NAN) data link (NDL) time block basedon the negotiation message.

In another aspect, a computer-readable storage device storesinstructions that, when executed by a processor, cause the processor toperform operations including exchanging, at a first device, anegotiation message with a second device. The operations also includereceiving a traffic message from the second device. The operationsfurther include selectively processing the traffic message based on thenegotiation message.

In another aspect, a computer-readable storage device storesinstructions that, when executed by a processor, cause the processor toperform operations including generating, at a first device, a serviceadvertisement indicating that the first device supports trafficmessaging. The operations also include transmitting the serviceadvertisement.

In another aspect, a device includes a processor and an interface. Theprocessor is configured to generate a notice of absence indicating thatthe device is unavailable to participate in at least one neighbor awarenetwork (NAN) data link (NDL) group. The interface is configured totransmit the notice of absence during a NAN discovery window.

In another aspect, a device includes an interface and a processor. Theinterface is configured to receive a notice of absence from a seconddevice during a neighbor aware network (NAN) discovery window. Thenotice of absence indicates that the second device is unavailable toparticipate in at least one NAN data link (NDL) group. The processor isconfigured to determine that the device will not send first dataassociated with the at least one NDL group to the second device duringat least a portion of one or more discovery intervals subsequent to theNAN discovery window.

In another aspect, a device includes an interface and a processor. Theinterface configured to exchange a negotiation message with a seconddevice. The processor is configured to determine whether to send atraffic message during a neighbor aware network (NAN) data link (NDL)time block based on the negotiation message.

In another aspect, a device includes an interface and a processor. Theinterface is configured to exchange a negotiation message with a seconddevice and to receive a traffic message from the second device. Theprocessor is configured to selectively process the traffic message basedon the negotiation message.

In another aspect, a device includes a processor and an interface. Theprocessor is configured to generate a service advertisement indicatingthat the device supports traffic messaging. The interface is configuredto transmit the service advertisement.

One particular advantage provided by at least one of the disclosedaspects is a reduction in power consumption at one or more electronicdevices of a data path group. Because the internal clocks of theelectronic devices of a data path group may be synchronized (e.g., basedon synchronization from the NAN), each electronic device of the datapath group may determine a particular time period corresponding to apaging window to transition to the active operating mode and to monitora wireless network (e.g., a particular communication channel) for anindication of traffic (e.g., a traffic advertisement). If a particularelectronic device does not receive a traffic advertisement or is notidentified as a data recipient in the traffic advertisement, theparticular electronic device may reduce power consumption bytransitioning to the inactive mode during a remaining portion of atransmission window or may perform operations corresponding to otherdata path groups or other networks during the remaining portion of thetransmission window.

Additionally, a single subscriber device (e.g., a “leader” datarecipient) may send an ACK in response to receiving a trafficadvertisement from a provider device. The paging window may be smallerto accommodate the ACK from the single subscriber device, as compared toa paging window designed to accommodate ACKs from multiple datarecipients. The one or more electronic devices may monitor theparticular communication channel during the paging window. Having asmaller paging window may result in reduction of power consumption bythe one or more electronic devices.

Other aspects, advantages, and features of the present disclosure willbecome apparent after a review of the entire application, including thefollowing sections: Brief Description of the Drawings, DetailedDescription, and the Claims.

V. BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of a particular aspect of a system that includes aneighbor aware network (NAN) having one or more electronic devices of adata path group that exchange a traffic advertisement;

FIG. 2 is a ladder diagram corresponding to operation of a particularaspect of the system of FIG. 1;

FIG. 3 is a diagram of another particular aspect of a system thatincludes a neighbor aware network (NAN) having one or more electronicdevices of a data path group that exchange a traffic advertisement;

FIG. 4 is a ladder diagram corresponding to operation of a particularaspect of the system of FIG. 2;

FIG. 5 is a diagram of another particular aspect of a system thatincludes a neighbor aware network (NAN) having one or more electronicdevices of a data path group that exchange a traffic advertisement;

FIG. 6 is a ladder diagram corresponding to operation of a particularaspect of the system of FIG. 5;

FIG. 7 is a timing diagram corresponding to operation of anotherparticular aspect of one or more of the systems disclosed herein;

FIG. 8 is a timing diagram corresponding to operation of anotherparticular aspect of one or more of the systems disclosed herein;

FIG. 9 is a timing diagram corresponding to operation of anotherparticular aspect of one or more of the systems disclosed herein;

FIG. 10A is a diagram of a particular example of a device of the systemof FIG. 1;

FIG. 10 B is a timing diagram corresponding to operation of the deviceof FIG. 10A;

FIG. 11 is a diagram of another particular aspect of a system thatincludes one or more electronic devices that exchange a trafficadvertisement;

FIG. 12 is a ladder diagram corresponding to operation of a particularaspect of the system of FIG. 11;

FIG. 13 is a diagram of another particular aspect of a system thatincludes one or more electronic devices that exchange a trafficadvertisement;

FIG. 14 is a ladder diagram corresponding to operation of a particularaspect of the system of FIG. 13;

FIG. 15 is a diagram of another particular aspect of a system thatincludes one or more electronic devices that exchange a trafficadvertisement;

FIG. 16 is a ladder diagram corresponding to operation of a particularaspect of the system of FIG. 15;

FIG. 17 is a diagram of another particular aspect of a system thatincludes one or more electronic devices that exchange a trafficadvertisement;

FIG. 18 is a ladder diagram corresponding to operation of a particularaspect of the system of FIG. 17;

FIG. 19 is a diagram of another particular aspect of a system thatincludes one or more electronic devices that exchange a traffic message;

FIG. 20 is a ladder diagram corresponding to operation of a particularaspect of the system of FIG. 19;

FIG. 21 is a diagram illustrating an example of a traffic advertisement;

FIG. 22 is a diagram illustrating examples of a traffic announcementattribute and a traffic indicator field of the traffic announcementattribute;

FIG. 23 is a diagram illustrating examples of a traffic announcementattribute, a page control field, a paged device list (PDL), and a PDLcontrol field;

FIG. 24 is a diagram illustrating examples of a traffic announcementattribute and a page control field of the traffic announcementattribute;

FIG. 25 is a diagram illustrating an example of a neighbor aware network(NAN) data link (NDL) attribute;

FIG. 26 is a diagram illustrating an example of a neighbor aware network(NAN) data link (NDL) control field;

FIG. 27 is a flow diagram of a method of operation at an electronicdevice of one or more of the systems disclosed herein;

FIG. 28 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 29 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 30 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 31 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 32 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 33 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 34 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 35 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 36 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 37 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 38 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 39 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 40 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 41 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 42 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 43 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 44 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 45 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 46 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 47 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein;

FIG. 48 is a flow diagram of another method of operation at anelectronic device of one or more of the systems disclosed herein; and

FIG. 49 is a diagram of a wireless device that is operable to supportvarious aspects of one or more methods, systems, apparatuses, andcomputer-readable media disclosed herein.

VI. DETAILED DESCRIPTION

Particular aspects of the present disclosure are described below withreference to the drawings. In the description, common features aredesignated by common reference numbers throughout the drawings.

Referring to FIG. 1, a particular aspect of a system 100 that includes aneighbor aware network (NAN) 102 is shown. The NAN 102 includes one ormore electronic devices. For example, the NAN 102 includes a providerdevice 104, a first subscriber device 106, a second subscriber device108, a third subscriber device 110, a fourth subscriber device 112, anda fifth subscriber device 114. An electronic device (e.g., the device104-114) may be configured to perform data exchanges via wirelesscommunications (e.g., without involving wireless carriers, Wi-Fi accesspoints, or the Internet) with one or more other electronic devices ofthe NAN 102.

The system 100 is illustrated for convenience only and the particularillustrated details are not limiting. For example, in other aspects, thesystem 100 may include more electronic devices or fewer electronicdevices than illustrated in FIG. 1, and the electronic devices may belocated at different locations than illustrated in FIG. 1. The device104-114 may include a traffic advertisement generator, a trafficadvertisement analyzer, a transceiver 136, or a combination thereof. Inthe example of FIG. 1, the provider device 104 includes a trafficadvertisement generator 130, and the first subscriber device 106includes a traffic advertisement analyzer 134.

The device 104-114 may be a fixed location electronic device or a mobileelectronic device. For example, the device 104-114 may include orcorrespond to mobile phones, laptop computers, tablet computers,personal computers, multimedia devices, peripheral devices, data storagedevices, or a combination thereof. Additionally or alternatively, thedevice 104-114 may include a processor (e.g., a central processing unit(CPU), a digital signal processor (DSP), a network processing unit(NPU), etc.), a memory (e.g., a random access memory (RAM), a read-onlymemory (ROM), etc.), and the transceiver 136 (e.g., a wireless receiverand a wireless transmitter) configured to send and receive data via oneor more wireless networks (e.g., one or more wireless communicationchannels), as further described with reference to FIG. 12. Althoughcertain operations described herein may be described with reference to a“transceiver,” in other aspects a “receiver” may perform data receivingoperations and a “transmitter” may perform data transmitting operations.

The devices 104-114 may exchange data, services, or both, via one ormore wireless networks. As used herein, a transmission “via” a wirelessnetwork may include, but is not limited to, a “point-to-point” (e.g.,unicast) transmission between two electronic devices of the wirelessnetwork. As another example, a transmission via the wireless network mayinclude a communication that is “broadcast” (e.g., transmitted) from aparticular electronic device of the wireless network to multiple otherelectronic devices of the wireless network. The device 104-114 may beconfigured to operate in accordance with one or more wireless protocolsor standards, such as an Institute of Electrical and ElectronicsEngineers (IEEE) 802.11 standard. For example, the device 104-114 mayoperate in accordance with at least one of an IEEE 802.11a, b, g, n, s,aa, ac, ad, ae, af, ah, ai, aj, aq, ax, or mc standard. Additionally,the device 104-114 may operate in accordance with one or more NANstandards or protocols.

Additionally, the device 104-114 may be configured to communicate with acellular network via one or more cellular communication protocols orstandards, such as a code division multiple access (CDMA) protocol, anorthogonal frequency division multiplexing (OFDM) protocol, anorthogonal frequency division multiple access (OFDMA) protocol, a timedivision multiple access (TDMA) protocol, a space division multipleaccess (SDMA) protocol, a carrier sense multiple access (CSMA) protocol,etc. Additionally, the device 104-114 may be configured to operate inaccordance with one or more near-field communications standards, such asa Bluetooth® standard (Bluetooth is a registered trademark of BluetoothSIG, Inc. of Kirkland, Wash.). Additionally, the device 104-114 mayexchange data via infrared or other near-field communications.

The device 104-114 may enter and exit the NAN 102 at various timesduring operation. For example, an electronic device that is not withinthe NAN 102 may detect a discovery beacon and may associate with the NAN102 during a discovery window identified by the discovery beacon, inaccordance with a NAN standard or protocol. Additionally, the device104-114 may disassociate from the NAN 102 at any time. While within theNAN 102, the device 104-114 may be configured to transmit or to receivemessages indicating an availability to communicate via one or morelogical channels. For example, the device 104-114 may be configured totransmit or to receive service advertisements (e.g., service discoveryframes (SDFs)) that advertise a service provided via one or more logicalchannels by at least one electronic device of the NAN 102.

Additionally, while within the NAN 102, the device 104-114 may beconfigured to transmit or to receive synchronization beacons. Asynchronization beacon may indicate synchronization information and maybe formed in accordance with one or more NAN standards or protocols. Thedevice 104-114 may be configured to synchronize a respective internalclock based on the synchronization beacons. Because the internal clockof the devices 104-114 may be synchronized, the devices 104-114 maydetermine a common time period (e.g., the discovery window) totransition to an active operating mode and monitor the NAN communicationchannel for a service advertisement. The devices 104-114 of a data pathgroup may determine a common time period (e.g., a paging window) totransition to the active operating mode and monitor a particularcommunication channel corresponding to a particular logical channel fora traffic advertisement.

The synchronization beacons may be retransmitted (e.g., rebroadcast) bythe device 104-114 within the NAN 102, in accordance with a NAN standardor protocol, to enable the synchronization beacons to reach electronicdevices that are beyond a wireless communication range of the electronicdevice that transmits the synchronization beacon. In a particularaspect, the synchronization beacons may be transmitted betweenelectronic devices of the NAN 102 via a first wireless channel (e.g., a“NAN communication channel”). As referred to herein, a “NANcommunication channel” is a particular wireless channel that is reservedfor electronic devices to perform NAN discovery operations and NANsynchronization operations.

In addition to being included in the NAN 102, the device 104-114 may beincluded in one or more data path groups. Thus, a NAN may include zeroor more data path groups, and each device in the NAN may be a member ofzero or more data path groups. A data path group may correspond to aservice provided via one or more logical channels by one or moreprovider devices (e.g., the provider device 104) of the NAN 102. Forexample, in FIG. 1, the provider device 104 may provide a particularservice (e.g., a music service, a gaming service, a social mediaservice, an advertising service, a message sharing service, etc.) viathe one or more logical channels to subscriber devices of the data pathgroup, as described herein. The data path group may be associated with aschedule. The schedule may include a set of time periods (or timeblocks) occurring during a discovery interval between consecutive NANdiscovery windows. The set of time blocks may repeat during consecutivediscovery intervals. The set of time blocks may correspond totransmission windows of the one or more logical channels. In aparticular aspect, one or more additional provider devices may alsoprovide the particular service via the one or more logical channels tothe subscriber devices. As another example, the provider device 104 maybe part of another network (e.g., an access point (AP) based network oran independent basic service set (IBSS) network), and the providerdevice 104 may be configured to advertise the other network to enableother electronic devices of the NAN 102 to join the other network viathe provider device 104.

Data path groups may include “single-hop” data path groups, “multi-hop”data path groups, or both. A single-hop data path group may include oneor more electronic devices that are within a wireless communicationrange (e.g., distance) of a provider (e.g., an electronic device thatprovides a service). A multi-hop data path group may include one or moreelectronic devices that are outside a wireless communication range ofthe provider. In the multi-hop data path group, at least one electronicdevice may receive a message (including data) from the provider and mayrebroadcast the message to another electronic device that outside of thewireless communication range of the provider. In a particular aspect, amulti-hop data path group may include the devices 104-114. In thisaspect, wireless communications from the provider device 104 to thefifth subscriber device 114 may be routed (e.g., retransmitted) by thefirst subscriber device 106, as shown in FIG. 1. In another particularaspect, the data path group may be a single-hop data path group thatincludes the devices 104-112. The fifth subscriber device 114 may not beincluded in the single-hop data path because the fifth subscriber device114 is not within a wireless communication range (e.g., a one-hop range)of the provider device 104.

The provider device 104 may operate as a data source and transmit datato other electronic devices (e.g., subscriber devices) of the data pathgroup. For example, to share a music service, the provider device 104may transmit music data to another electronic device in the data pathgroup. As another example, to share a social media service, the providerdevice 104 may transmit text data, image data, video data, or acombination thereof, to another electronic device in the data pathgroup. As a further example, to share a gaming service, the providerdevice 104 may transmit text data, score data, image data, video data,or a combination thereof, to another electronic device in the data pathgroup. At least one of the other electronic devices (e.g., thesubscriber devices) may be configured to operate as a data sink.

In a particular aspect, data may be transmitted between electronicdevices of the data path group via one or more “data path group”channels. As used herein, a “data path group channel” is a particularwireless channel that is reserved for electronic devices in acorresponding data path group to communicate messages (e.g., trafficadvertisements) regarding sharing a service and to communicate dataassociated with the service. A logical channel may correspond to a datapath group channel and one or more transmission windows. For example,data may be transmitted between electronic devices of the data pathgroup via one or more data path group channels during correspondingtransmission windows. The transmission windows may correspond to one ormore repeating time blocks of a schedule associated with the logicalchannel. For example, the time blocks may repeat between consecutive NANdiscovery windows. As used herein, the “data path group channel” isassociated with a data path group network, and communications in thedata path group network may be performed over (e.g., via) the data pathgroup channel. Additionally, the data path group channel may be used forsharing security information, for performing association operations, andfor performing routing operations (e.g., in multi-hop data path groups).

In some aspects, a data path group channel and the NAN communicationchannel may be different wireless channels that correspond to differentwireless frequency bands. In a particular aspect, the NAN communicationchannel may be a 2.4 gigahertz (GHz) channel and the data path groupchannel may be a 5 GHz channel. In other aspects, the data path groupchannel and the NAN communication channel may be the same wirelesschannel. For example, the device 104-114 may share data with the datapath group via the NAN communication channel. In some aspects, the NAN102 may include multiple data path groups, and each of the multiple datapath groups may correspond to distinct, overlapping, or same data pathgroup channels. The multiple data path groups may correspond todifferent services provided by various electronic devices in the NAN102. In some aspects, electronic devices of the multiple data pathgroups may share data via the same data path group channel duringdistinct transmission windows.

During operation, one of the electronic devices of the NAN 102 maygenerate and transmit a synchronization (sync) beacon in accordance witha NAN standard or protocol. For example, the second subscriber device108 may transmit the synchronization beacon via the NAN communicationchannel. Electronic device(s) within a one-hop range of the secondsubscriber device 108 may retransmit the synchronization beacon so thatthe synchronization beacon propagates throughout the NAN 102. The device104-114 may receive the synchronization beacon and may performsynchronization operations based on the synchronization beacon. Forexample, the device 104-114 may synchronize timing circuitry (e.g., aninternal clock) based on receiving the synchronization beacon.

The provider device 104 may, e.g., after performing the synchronizationoperations, begin providing a particular service to other devices of theNAN 102, as described herein. The traffic advertisement generator 130may determine a first plurality of logical channels. For example, thetraffic advertisement generator 130 may determine the first plurality oflogical channels based on default data, based on input of a user of theprovider device 104, or both. The first plurality of logical channelsmay correspond to a plurality of physical communication channels (e.g.,2.4 Gigahertz (GHz) or 5 GHz wireless communication channels) and one ormore associated transmission windows. In a particular aspect, a singlelogical channel corresponds to a plurality of physical communicationchannel. For example, the logical channel may correspond to a firstphysical communication channel during one or more first time windows andmay correspond to a second physical communication channel during one ormore second time windows. The first time windows and the second timewindows may be distinct, overlapping, or the same. In a particularaspect, the logical channel corresponds to a channel hopping sequence.The channel hopping sequence may indicate that the logical channelcorresponds to the first physical communication channel during the firsttime windows and corresponds to the second physical communicationchannel during the second time windows. The traffic advertisementgenerator 130 may determine available logical channels. For example, theavailable logical channels may be a subset of the first plurality oflogical channels that are not being used by the traffic advertisementgenerator 130, e.g., to participate in other data path groups.

The provider device 104 may generate a message (e.g., a serviceadvertisement) indicating that the provider device 104 is available toprovide the particular service via one or more available logicalchannels. A particular logical channel may correspond to a particularcommunication channel (e.g., a wireless communication channel) and oneor more transmission windows. The particular logical channel maycorrespond to a schedule of repeating time blocks occurring betweenconsecutive NAN discovery windows. The transmission windows maycorrespond to the time blocks. In a particular aspect, the providerdevice 104 may provide the particular service via a “basic” channel. Thebasic channel may correspond to a transmission window of the NAN channelthat begins after an end of a NAN discovery window. In a particularaspect, the service advertisement may not indicate the basic channel. Asubscriber device 106-114 may assume that the provider device 104 isavailable to provide the particular service via the basic channel inresponse to receiving the service advertisement regardless of whetherthe service advertisement indicates the basic channel.

The provider device 104 may send the service advertisement to electronicdevices (e.g., the subscriber device 106-112) of the NAN 102 during aNAN discovery window. The device 104-114 may monitor the NAN channelduring the NAN discovery window. One or more devices (e.g., thesubscriber device 106-112) may receive the service advertisement duringthe NAN discovery window. The one or more devices may send a subscribemessage in response to receiving the service advertisement. The providerdevice 104 may determine that the one or more devices are available toreceive the particular service based on receiving the subscribe message.For example, the provider device 104 may, in response to receiving asubscribe message from a particular device, determine that theparticular device is available to communicate via at least one of theavailable logical channels, the basic channel, or a combination thereof.

In a particular aspect, the provider device 104 may receive subscribemessages from multiple subscriber devices (e.g., the subscriber device106-112). A data path group corresponding to the available logicalchannels, the basic channel, or a combination thereof, may include theprovider device 104 (e.g., a provider device) and each subscriber devicefrom which the provider device 104 received a subscribe messageresponsive to the service advertisement.

A data path group may be associated with one or more communicationchannels corresponding to the available logical channels, the basicchannel, or a combination thereof. The data path group may correspond toone or more transmission windows associated with the available logicalchannels, the basic channel, or a combination thereof. For example, thedata path group may correspond to (e.g., communicate via) the basicchannel. To illustrate, the data path group may communicate via the NANcommunication channel during a transmission window of the basic channel.As another example, the data path group may correspond to (e.g.,communicate via) a logical channel. To illustrate, the data path groupmay communicate via a communication channel (e.g., a physicalcommunication channel) during one or more transmission windows. Thecommunication channel and the one or more transmission windows may beassociated with the logical channel.

Electronic devices participating in a data path group may monitor one ormore communication channels during a beginning portion (e.g., a pagingwindow) of at least some transmission windows associated with the datapath group. For example, the provider device 104, the subscriber device106-112 may listen to (e.g., monitor) the NAN communication channelduring a paging window that begins when a NAN discovery window ends. Asanother example, the provider device 104, the subscriber device 106-112may listen to (e.g., monitor) a particular communication channelcorresponding to an available logical channel during a paging window ofone or more corresponding transmission windows.

In a particular aspect, devices participating in a data path group maymonitor a corresponding communication channel during at least a firstnumber of paging windows of one or more corresponding transmissionwindows. For example, a first logical channel of the available logicalchannels may correspond to a first communication channel and one or moretransmission windows. In a particular aspect, the first communicationchannel may correspond to an Institute of Electrical and ElectronicsEngineers (IEEE) channel 1 or an IEEE channel 11 in a 2.4 Gigahertz(GHz) frequency band.

The traffic advertisement analyzer 134 may monitor the firstcommunication channel during at least a first percentage (e.g., 50%) ofthe one or more transmission window. For example, the trafficadvertisement analyzer 134 may monitor the first communication channelduring a first paging window and may refrain from monitoring the firstcommunication channel during a second paging window. The first pagingwindow and the second paging window may occur during the same discoveryinterval or during distinct discovery intervals. As referred to herein,a “discovery interval” may refer to a time period between an end of afirst discovery window and a beginning of a next discovery window. Forexample, a discovery interval may correspond to a difference between adiscovery end time of a first discovery window and a subsequentdiscovery begin time of a next discovery window. A first transmissionwindow may include the first paging window and a first data transmissionwindow.

The traffic advertisement generator 130 may generate a trafficadvertisement 128 in response to determining that data is available(e.g., in buffer(s) at the provider device 104) to be sent by theprovider device 104 to multiple subscriber devices (e.g., the subscriberdevices 106-110). For example, the traffic advertisement 128 mayindicate (or identify) multiple data recipients (e.g., the firstsubscriber device 106, the second subscriber device 108, and the thirdsubscriber device 110). In a particular aspect, the trafficadvertisement generator 130 may transition to an inactive mode (e.g., asleep mode) during a remaining portion of the first transmission windowin response to determining during the first paging window that theprovider device 104 does not have data to send. In a particular aspect,when the traffic advertisement generator 130 transitions to the inactivemode, the traffic advertisement generator 130 may transition theprovider device 104 to the inactive mode.

In a particular aspect, the traffic advertisement analyzer 134 maytransition to the inactive mode during a remaining portion of the firstdata transmission window in response to determining that no trafficadvertisements have been received from a provider device (e.g., theprovider device 104) during the first paging window. In a particularaspect, when the traffic advertisement analyzer 134 transitions to theinactive mode, the traffic advertisement analyzer 134 may transition thefirst subscriber device 106 to the inactive mode.

The traffic advertisement generator 130 may send the trafficadvertisement 128 via the first communication channel during the firstpaging window. In a particular aspect, the traffic advertisement 128 mayinclude an announcement traffic indication message (ATIM), an actionframe (e.g., a public action frame), or another message. For example,the traffic advertisement 128 may be sent during an ATIM window at thebeginning (e.g., the first paging window) of the first transmissionwindow.

The traffic advertisement 128 may include a unicast message or amulticast message. In a particular aspect, the traffic advertisement 128may include a unicast message and may indicate that the first subscriberdevice 106 is a destination of the traffic advertisement 128. Although,the traffic advertisement 128 may be a unicast message, the trafficadvertisement 128 may indicate multiple subscriber devices (e.g., thefirst subscriber device 106, the second subscriber device 108, and thethird subscriber device 110) as data recipients. For example, thetraffic advertisement 128 may include an address list (e.g., a MACaddress indicator list) indicating addresses (e.g., media access control(MAC) addresses) of the multiple subscriber devices. To illustrate, aMAC address indicator of the MAC address indicator list may include atleast a portion of a MAC address of a corresponding subscriber device, ahash value based on the MAC address, or another value based on the MACaddress. In a particular aspect, the traffic advertisement 128 mayinclude a bitmap indicating the address list. A particular bit of thebitmap may be associated with a particular MAC address indicator of asubscriber device. For example, a first bit of the bitmap may beassociated with a MAC address indicator of the first subscriber device106, and a second bit of the bitmap may be associated with a MAC addressindicator of the fourth subscriber device 112. A value of each bit inthe bitmap may indicate whether the corresponding subscriber device isincluded in the multiple subscriber devices (i.e., is a data recipient).For example, a first value (e.g., 1) of a first bit may indicate thatthe first subscriber device 106 is included in the multiple subscriberdevices. As another example, a second value (e.g., 0) of a second bitmay indicate that the fourth subscriber device 112 is not included inthe multiple subscriber devices.

In a particular aspect, the traffic advertisement 128 may indicate thatthe multiple subscriber devices include each of the subscriber devicesassociated with the data path group. For example, the trafficadvertisement generator 130 may set a destination field of the trafficadvertisement 128 to indicate the identifier of the particular servicein response to determining that the data is to be sent by the providerdevice 104 to each of the subscriber devices associated with the datapath group. Thus, setting the destination field of the trafficadvertisement 128 to identify the particular service may be equivalentto asserting all bits of the bitmap. In a particular aspect, the trafficadvertisement 128 may indicate availability of multicast data. Forexample, the same data may be available to be sent to each of thesubscriber devices associated with the data path group.

In a particular aspect, the traffic advertisement 128 may include anATIM and a destination field of the ATIM may include a group addressindicating multiple data recipients (e.g., the first subscriber device106, the second subscriber device 108, and the third subscriber device110). For example, the destination field of the ATIM may include anidentifier of the particular service indicating that the ATIM isaddressed to each of the subscriber devices (e.g., the first subscriberdevice 106, the second subscriber device 108, the third subscriberdevice 110, and the fourth subscriber device 112) associated with thedata path group.

The traffic advertisement 128 may be received by the subscriber device106-112. For example, the traffic advertisement analyzer 134 may receivethe traffic advertisement 128 via the transceiver 136 of the firstsubscriber device 106. The first subscriber device 106 may forward thetraffic advertisement 128 to subscriber devices (e.g., the fifthsubscriber device 114) that are within a single-hop of the firstsubscriber device 106.

A traffic advertisement analyzer of a subscriber device may receive thetraffic advertisement 128 and may determine whether the trafficadvertisement 128 indicates that the subscriber device is included inthe multiple subscriber devices. For example, a traffic advertisementanalyzer of the fourth subscriber device 112 may receive the trafficadvertisement 128 and may determine that the traffic advertisement 128indicates that the fourth subscriber device 112 is excluded from themultiple subscriber devices. In response, the fourth subscriber device112 may transition to the inactive mode. As another example, the trafficadvertisement analyzer 134 may determine that the first subscriberdevice 106 is included in the multiple subscriber devices based on theaddress list indicating an address of the first subscriber device 106, aparticular bit of the bitmap corresponding to the first subscriberdevice 106 having a particular value (e.g., 1), the trafficadvertisement 128 indicating that the first subscriber device 106 is theunicast destination of the traffic advertisement 128, the destinationfield of the traffic advertisement 128 indicating (e.g., including anidentifier of) the particular service, the traffic advertisement 128indicating availability of multicast data, or a combination thereof.

In a particular aspect, a subscriber device may be operating in amonitor (e.g., promiscuous) mode. For example, while the subscriberdevice is operating in the monitor mode, a traffic advertisementanalyzer (e.g., the traffic advertisement analyzer 134) of thesubscriber device may receive the traffic advertisement 128, which maybe detected by a transceiver (e.g., the transceiver 136) of thesubscriber device regardless of whether the traffic advertisement 128indicates that the subscriber device is a destination of the trafficadvertisement 128. To illustrate, even though the traffic advertisement128 may be a unicast message to the first subscriber device 106, atransceiver of the second subscriber device 108 may detect the trafficadvertisement 128. In a particular aspect, a subscriber device mayreceive and process a message (e.g., the traffic advertisement 128) whenthe message indicates that the subscriber device is a destination of themessage, when the message indicates that a source of the message is aprovider device (e.g., the provider device 104) of the data path group,or both.

In a particular aspect, an interface of a first device (e.g., theprovider device 104 or the subscriber device 106-114) may be configuredto operate in the monitor mode (e.g., the promiscuous mode). Theinterface may be configured, while operating in the monitor mode (e.g.,the promiscuous mode), to receive a packet (e.g., the trafficadvertisement 128). The interface may be configured to provide thepacket to a processor (e.g., the traffic advertisement analyzer 134 orthe traffic advertisement generator 130) of the device (e.g., theprovider device 104 or the subscriber device 106-114) independently ofwhether the packet indicates that the interface is a destination of thepacket.

The processor (e.g., the traffic advertisement analyzer 134 or thetraffic advertisement generator 130) may be configured to selectivelyprocess the packet (e.g., the traffic advertisement 128) based on atleast one criterion. The processor (e.g., the traffic advertisementanalyzer 134 or the traffic advertisement generator 130) may determinethat the at least one criterion is satisfied in response to determiningthat an AID has been assigned to a source of the packet, determiningthat the packet includes a group identifier of a group of devices thatincludes the first device, determining that the packet corresponds to anactive traffic session with the source of the packet, or a combinationthereof. For example, the second subscriber device 108 may receive apacket (e.g., the traffic advertisement 128) from the provider device104. The second subscriber device 108 may, while operating in themonitor mode (e.g., the promiscuous mode), selectively process thepacket (e.g., the traffic advertisement 128). For example, the secondsubscriber device 108 may process the packet (e.g., the trafficadvertisement 128) in response to determining that packet includes agroup identifier of a group of devices that includes the secondsubscriber device 108. The group of devices may include an NDL group(e.g., the NAN 102) of a NAN cluster. The group identifier may include aNAN cluster identifier of the NAN cluster, an NDL identifier of the NDLgroup (e.g., the NAN 102), or another value that is compliant with anIEEE 802.11 specification. The second subscriber device 108 may, whilein the monitor mode, process the packet independently of whether thepacket indicates that the second subscriber device 108 is a destinationof the packet.

In a particular implementation, the second subscriber device 108 may,while operating in the monitor mode, process the packet (e.g., thetraffic advertisement 128) in response to determining that the secondsubscriber device 108 is associated with the provider device 104independently of whether the packet indicates that the second subscriberdevice 108 is a destination of the packet. For example, the secondsubscriber device 108 may determine that the packet (e.g., the trafficadvertisement 128) includes an association identifier (AID) of theprovider device 104 and that the second subscriber device 108 assignedthe association identifier to the provider device 104 during anassociation process between the provider device 104 and the secondsubscriber device 108, as described herein.

In a particular implementation, the first subscriber device 106 may,while operating in the monitor mode, process a packet (e.g., the data122) in response to determining the packet (e.g., the data 122)corresponds to an active session between the first subscriber device 106and the provider device 104. The first subscriber device 106 maydetermine that the packet (e.g., the data 122) corresponds to the activesession based on a pattern associated with packets previously receivedfrom the provider device 104, a type of service associated with aservice advertisement previously received from the provider device 104,or both. For example, the first subscriber device 106 may havepreviously received packets from the provider device 104 at intervals ofapproximately a first duration. The first subscriber device 106 mayreceive a previous packet from the provider device 104 at a first time.The first subscriber device 106 may receive the packet (e.g., the data122) from the provider device 104 at a second time. The first subscriberdevice 106 may determine that the packet (e.g., the data 122)corresponds to the active session in response determining that a secondduration between the first time and the second time approximates thefirst duration.

As another example, the first subscriber device 106 may determine that aservice advertisement was previously received from the provider device104. The first subscriber device 106 may determine that a type ofservice (e.g., a file transfer protocol (FTP) service, a voice overinternet protocol (VoIP) service, a gaming service, a messaging service,or a combination thereof) is associated with the service advertisement.The first subscriber device 106 may determine that the packetcorresponds to the active session in response to determining that thesecond duration satisfies (e.g., is less than or equal to) a thresholdduration corresponding to the type of service. The first subscriberdevice 106 may, while operating in the monitor mode, process the packetin response to determining that the packet corresponds to the activesession independently of whether the packet indicates that the firstsubscriber device 106 is a destination of the packet.

A traffic advertisement analyzer of a subscriber device may determinewhether the subscriber device is a “leader” device of the multiplesubscriber devices that are indicated by the traffic advertisement 128as being data recipients (e.g., the subscriber devices 106-110). Aleader device may be a subscriber device that sends an ACK in responseto receiving the traffic advertisement 128. A single subscriber deviceof the multiple subscriber devices (e.g., the subscriber devices106-110) may be a leader device. For example, the traffic advertisementanalyzer 134 may determine whether the first subscriber device 106 isthe leader device of the subscriber devices 106-110. The trafficadvertisement analyzer 134 may determine whether the subscriber deviceis included in the multiple subscriber devices. Subscriber devices thatare not indicated as being a data recipient (e.g., the fourth subscriberdevice 112) may be assumed as not being a leader device.

In a particular aspect, the traffic advertisement generator 130 mayselect one of the multiple subscriber devices as the leader device. Themultiple subscriber devices may include each of the subscriber devices(e.g., the subscriber devices 106-112) associated with the data pathgroup when the traffic advertisement 128 indicates availability ofmulticast data. The traffic advertisement 128 may indicate the leaderdevice. For example, a particular value (e.g., 1 or an address of thefirst subscriber device 106) of a particular field (e.g., destinationfield, a leader device field, or both) of the traffic advertisement 128may indicate that the first subscriber device 106 is the leader device.As another example, a particular order (e.g., first or last) in whichthe first subscriber device 106 is indicated in the multiple subscriberdevices may indicate that the first subscriber device 106 is the leaderdevice.

The traffic advertisement analyzer 134 may determine that the firstsubscriber device 106 is the leader device in response to determiningthat the particular field of the traffic advertisement 128 has theparticular value, that the first subscriber device 106 is indicated inthe particular order in the multiple subscriber devices, or both. Forexample, the traffic advertisement analyzer 134 may determine that thefirst subscriber device 106 is the leader device in response todetermining that the traffic advertisement 128 includes a unicastmessage and that the traffic advertisement 128 (e.g., the destinationfield of the traffic advertisement 128) indicates that the firstsubscriber device 106 is a destination of the traffic advertisement 128.As another example, a traffic advertisement analyzer of the secondsubscriber device 108 may determine that the second subscriber device108 is not the leader device in response to determining that the trafficadvertisement 128 includes a unicast message and that the trafficadvertisement 128 does not indicate that the second subscriber device108 is a destination of the traffic advertisement 128.

The second subscriber device 108 may transition to the inactive modeduring a remaining portion of the paging window in response todetermining that the second subscriber device 108 is not the leaderdevice. For example, the second subscriber device 108 may remain in theinactive mode until a trigger slot or the first data transmissionwindow. The trigger slot may be subsequent to the first paging windowand prior to the first data transmission window.

In a particular aspect, the traffic advertisement analyzer 134 maydetermine that the first subscriber device 106 is the leader device inresponse to determining that the first subscriber device 106 is includedin the multiple subscriber devices (e.g., the subscriber devices106-110) and that an acknowledgement (ACK) responsive to the trafficadvertisement 128 from another subscriber device to the provider device104 is undetected within a particular time period of receiving thetraffic advertisement 128.

The particular time period may be based on a default value, anidentifier (e.g., an address) of the first subscriber device 106, acounter (e.g., a random counter or a pseudo-random counter), or acombination thereof. For example, the traffic advertisement analyzer 134may determine a sorting order (e.g., 1^(st), 2^(nd), etc.) of theidentifier (e.g., the first address) of the first subscriber device 106relative to identifiers (e.g., addresses) of the multiple subscriberdevices indicated by the traffic advertisement 128. The trafficadvertisement analyzer 134 may determine the duration of the particulartime period by applying a particular function (e.g., multiplication,addition, or both) to the sorting order and to a gap duration. The gapduration may have a default value (e.g., 100 milliseconds). In aparticular aspect, the provider device 104 (e.g., the trafficadvertisement generator 130) may provide the gap duration to thesubscriber devices 106-112. For example, the traffic advertisement 128may indicate the gap duration. As another example, the trafficadvertisement analyzer 134 may set (or reset) the pseudo-random counterat a first time in response to receiving the traffic advertisement 128.The duration may correspond to a time when the pseudo-random counterexpires.

The traffic advertisement analyzer 134 may refrain from sending an ACK138 responsive to the traffic advertisement 128 based on determiningthat the first subscriber device 106 is not the leader device.Alternatively, the traffic advertisement analyzer 134 may send the ACK138, via the transceiver 136 of the first subscriber device 106, to theprovider device 104 in response to determining that the first subscriberdevice 106 is the leader device. For example, the traffic advertisementanalyzer 134 may send the ACK 138 via the first communication channelduring the first paging window. The ACK 138 may include a MAC frame. TheACK 138 may indicate that the first subscriber device 106 is availableto receive traffic during the first data transmission window.

In a particular aspect, the second subscriber device 108 may detect theACK 138 from the first subscriber device 106 to the provider device 104during the first paging window. A traffic advertisement analyzer of thesecond subscriber device 108 may determine that the second subscriberdevice 108 is not the leader device in response to detecting the ACK 138from the first subscriber device 106 to the provider device 104. Thetraffic advertisement analyzer of the second subscriber device 108 mayrefrain from sending an ACK responsive to the traffic advertisement 128in response to determining that the second subscriber device 108 is notthe leader device. The second subscriber device 108 may conserve networkresources by refraining from sending the ACK.

Alternatively, the second subscriber device 108 may determine thatanother ACK from another subscriber device is undetected within a firstduration of receiving the traffic advertisement 128, even though thefirst subscriber device 106 has sent the ACK 138 within the firstduration. For example, the ACK 138 may be undetected by the secondsubscriber device 108 due to network conditions. The second subscriberdevice 108 may assume that the second subscriber device 108 is theleader device and may also send an ACK. In this example, more than onesubscriber device may determine that that subscriber device is theleader device.

In a particular aspect, the third subscriber device 110 may receive thetraffic advertisement 128. A traffic advertisement analyzer of the thirdsubscriber device 110 may determine that the third subscriber device 110is unavailable during a subsequent portion of the first transmissionwindow. The traffic advertisement analyzer of the third subscriberdevice 110 may, in response to the determination, refrain from sendingan ACK responsive to the traffic advertisement 128. In a particularaspect, the third subscriber device 110 may transition to the inactivemode during a remainder of the first transmission window in response todetermining that the third subscriber device 110 is unavailable duringthe subsequent portion of the first transmission window.

In some implementations, a subscriber device (e.g., the subscriberdevice 106-112) may send the ACK 138 independently of determiningwhether the subscriber device is a leader device. For example, thefourth subscriber device 112 may, in response to receiving the trafficadvertisement 128, send the ACK 138 to the provider device 104. In someimplementations, a subscriber device (e.g., the subscriber device106-112) may send the ACK 138 in response to determining that anotherACK from another subscriber device responsive to the trafficadvertisement 128 is undetected. For example, the fourth subscriberdevice 112 may, in response to receiving the traffic advertisement 128and determining that another ACK from another subscriber deviceresponsive to the traffic advertisement 128 is undetected, send the ACK138 to the provider device 104.

The traffic advertisement generator 130 may receive the ACK 138, via thetransceiver 136 of the provider device 104, from the first subscriberdevice 106 during the first paging window. The traffic advertisementgenerator 130 may assume that the traffic advertisement 128 is likely tohave been received by the remaining subscriber devices (e.g., thesubscriber devices 108-110) in response to receiving the ACK 138 fromthe first subscriber device 106. A size (e.g., a default size) of thefirst paging window may be smaller to accommodate an ACK (e.g., the ACK138) from a single subscriber device (or a few subscriber devices) ofthe multiple subscriber devices (e.g., the subscriber devices 106-110),as compared to a paging window to accommodate ACKs from all of themultiple subscriber devices. The devices 104-112 of the data path groupmay conserve network resources by monitoring the first communicationchannel during the shorter paging window, as compared to a longer pagingwindow.

The traffic advertisement generator 130 may remain in an activeoperating mode in response to determining that the ACK 138 has beenreceived during the first paging window. In a particular aspect, thetraffic advertisement generator 130 may, in response to receiving theACK 138, transition to the inactive mode until detecting the triggerslot or the first data transmission window. For example, the trafficadvertisement generator 130 may, in response to receiving the ACK 138,transition to the inactive mode during the remainder of the first pagingwindow and may transition to the active operating mode at a beginning ofthe trigger slot or a beginning of the first data transmission window.The traffic advertisement generator 130 may thus conserve networkresources by refraining from monitoring the first communication channelduring a remaining portion of the first paging window in response toreceiving a single ACK.

In a particular aspect, the traffic advertisement generator 130 maydetermine that no ACK responsive to a particular traffic advertisementhas been received from a particular subscriber device (e.g., asubscriber device distinct from the first subscriber device 106) withina particular ACK duration of sending the particular trafficadvertisement to the particular subscriber device. The particulartraffic advertisement (e.g., a unicast message) may indicate theparticular subscriber device as a destination of the particular trafficadvertisement. The traffic advertisement generator 130 may determinethat a first number of traffic advertisements have been sent during thefirst paging window. The traffic advertisement generator 130 may sendthe traffic advertisement 128 indicating the first subscriber device 106as a destination of the traffic advertisement 128 in response todetermining that the first number of traffic advertisements fails tosatisfy an advertising threshold. In a particular aspect, the trafficadvertisement generator 130 may transition to the inactive mode during aremaining portion of the first transmission window in response todetermining that no ACK responsive to the traffic advertisement 128 hasbeen received during the first paging window and that the first numberof traffic advertisements satisfies the advertising threshold.

An ACK (e.g., the ACK 138) responsive to the traffic advertisement 128from at least one subscriber device may function as feedback to thetraffic advertisement generator 130. For example, the trafficadvertisement generator 130 may determine that the traffic advertisement128 has been reliably transmitted (e.g., without collision and withouterrors) in response to receiving an ACK from at least one (e.g., fewerthan all) of the subscriber devices 106-110. To illustrate, the trafficadvertisement generator 130 may, in response to receiving the ACK 138,determine that the traffic advertisement 128 has been sent withoutcollision and has been received without errors by at least onesubscriber device (e.g., the first subscriber device 106).

The traffic advertisement generator 130 may improve reliability oftraffic advertisement transmission by sending a second trafficadvertisement in response to determining that no ACK responsive to afirst traffic advertisement has been received within a particular ACKduration of sending the first traffic advertisement during the firstpaging window. The traffic advertisement generator 130 may send thefirst traffic advertisement at a first time during the first pagingwindow. The traffic advertisement generator 130 may send the secondtraffic advertisement at a second time in response to determining thatno ACK responsive to the first advertisement has been received withinthe particular ACK duration of the first time. The second time issubsequent to the first time. The second time may be during the firstpaging window or during a second paging window subsequent to the firstpaging window. The second traffic advertisement may be reliablytransmitted at the second time due to changes in network conditions. Ina particular aspect, the first traffic advertisement may be a firstunicast message with a first unicast destination and the second trafficadvertisement may be a second unicast message with a second unicastdestination that is distinct from the first unicast destination. Thesecond traffic advertisement may be reliably transmitted to the secondunicast destination even though the first traffic advertisement was notreliably transmitted to the first unicast destination. For example, thefirst traffic advertisement may not have been reliably transmittedbecause of local network conditions of the first unicast destinationcausing collisions, errors, or both. The second traffic advertisementmay be reliably transmitted to the second unicast destination becauselocal network conditions of the second unicast destination are notcausing collisions or errors.

The traffic advertisement generator 130 may determine networkreliability (e.g., reliability of transmission of the trafficadvertisement 128) in response to determining whether an ACK has beenreceived during the first paging window. For example, the trafficadvertisement generator 130 may determine that the traffic advertisement128 is likely to have been received by each of the subscriber devices106-110 during the first paging window in response to determining thatthe traffic advertisement 128 has been received by at least one of thesubscriber devices 106-110 during the first paging window. Toillustrate, the traffic advertisement generator 130 may determine thatthe traffic advertisement 128 has been received by the first subscriberdevice 106 in response to receiving the ACK 138 from the firstsubscriber device 106 during the first paging window. The trafficadvertisement generator 130 may determine that the traffic advertisement128 is likely to have been received by the subscriber devices 108-110during the first paging window in response to determining that thetraffic advertisement 128 has been received by the first subscriberdevice 106. Alternatively, the traffic advertisement generator 130 maydetermine that the traffic advertisement 128 is unlikely to have beenreceived by the subscriber devices 106-110 in response to determiningthat no ACK responsive to the traffic advertisement 128 has beenreceived from any of the subscriber devices 106-110 during the firstpaging window. In a particular aspect, a traffic advertisement may notbe received by the subscriber devices 106-110 or an ACK responsive tothe traffic advertisement may not be received by the provider device 104due to network collisions, packet loss, or other communication errors.

The first subscriber device 106 (or the second subscriber device 108)may remain in the active operating mode (or may transition to the sleepmode and transition back to the active operating mode) in response toreceiving the traffic advertisement 128. For example, the trafficadvertisement analyzer 134 may monitor the first communication channelduring a subsequent window (e.g., the trigger slot or the first datatransmission window) in response to receiving the traffic advertisement128 and determining that the traffic advertisement 128 indicates thatthe first subscriber device 106 is a data recipient (e.g., is includedin the multiple subscriber devices).

In a particular aspect, the second subscriber device 108 may determinethat the second subscriber device 108 is not a leader device and thatthe traffic advertisement 128 indicates that the second subscriberdevice 108 is a data recipient. In response to the determination, thesecond subscriber device 108 may transition to the inactive mode duringa remaining portion of the first paging window and may transition to theactive operating mode during the subsequent window (e.g., the triggerslot or the first data transmission window), because the secondsubscriber device 108 is not responsible for acknowledging the trafficadvertisement 128. The second subscriber device 108 may conserve networkresources by refraining from sending an ACK.

In a particular aspect, the traffic advertisement analyzer 134 (or thetraffic advertisement generator 130) may change a channel of thetransceiver 136 of a particular subscriber device (or the providerdevice 104) to the first communication channel to monitor the firstcommunication channel. In a particular aspect, the traffic advertisementanalyzer 134 (or the traffic advertisement generator 130) may monitorthe NAN communication channel during a paging window of the basicchannel by continuing to monitor the NAN communication channel after anend of a NAN discovery window. The traffic advertisement analyzer 134(or the traffic advertisement generator 130) may thus avoid a wakeuppenalty that may be associated with switching from refraining frommonitoring a communication channel subsequent to the NAN discoverywindow to monitoring the communication channel during a paging window.

The traffic advertisement generator 130 may send data 122 to aparticular subscriber device (e.g., the subscriber device 106-108) viathe first communication channel during a first data transmission window.For example, the traffic advertisement generator 130 may send the data122 via the transceiver 136 of the provider device 104. The first datatransmission window may correspond to an ending portion of the firsttransmission window.

In a particular aspect, the traffic advertisement generator 130 may sendthe data 122 to multiple subscriber devices during the first datatransmission window in response to determining that an ACK (e.g., theACK 138) has been received from a single subscriber device of themultiple subscriber devices, that an ACK has been received from fewerthan all of the multiple subscriber devices, or that an ACK has beenreceived from each of the multiple subscriber devices during the firstpaging window.

In a particular aspect, the traffic advertisement generator 130 may sendthe data 122 to one or more of the multiple subscriber devices (e.g.,the subscriber devices 106-110). For example, the traffic advertisementgenerator 130 may determine that the ACK 138 has been received from thefirst subscriber device 106 and that no ACK has been received from thesecond subscriber device 108. The traffic advertisement generator 130may send the data 122 to the first subscriber device 106 and the data122 to the second subscriber device 108 in response to determining thatthe ACK 138 has been received from the first subscriber device 106(e.g., regardless of whether an ACK has been received from the secondsubscriber device 108 during the first paging window). The secondsubscriber device 108 may receive the data 122, even though the secondsubscriber device 108 has not sent an ACK during the first pagingwindow.

The first paging window may not have to accommodate ACKs from all datarecipients for the data recipients (e.g., the second subscriber device108) to receive data. For example, the first paging window mayaccommodate an ACK (e.g., the ACK 138) from one of the first subscriberdevice 106 and the second subscriber device 108 for both of the firstsubscriber device 106 and the second subscriber device 108 to receivedata. A size of the first paging window may be smaller, as compared to apaging window that accommodates ACKs from all of the multiple subscriberdevices (e.g., the subscriber devices 106-110). The device 104-112 ofthe data path group may conserve network resources by monitoring thefirst communication channel during a smaller paging window. The data 122sent to a particular subscriber device (e.g., the first subscriberdevice 106) may be distinct or same as the data 122 sent to anothersubscriber device (e.g., the second subscriber device 108). Thus, thedata 122 may be unicast, broadcast, or communicated via some otherscheme.

In a particular aspect, the traffic advertisement generator 130 may sendthe data 122 to a particular subscriber device of the multiplesubscriber devices based on availability of the particular subscriberdevice. The traffic advertisement generator 130 may determine that theparticular subscriber device is available to receive the data 122 inresponse to determining that an ACK (e.g., the ACK 138), a data trigger(e.g., a trigger message 150), or both, have been received from theparticular subscriber device. For example, the traffic advertisementgenerator 130 may send the data 122 to the first subscriber device 106in response to determining that the ACK 138 has been received from thefirst subscriber device 106 during the first paging window. As anotherexample, the traffic advertisement generator 130 may send the data 122to the first subscriber device 106 (or the second subscriber device 108)in response to determining that the trigger message 150 has beenreceived from the first subscriber device 106 (or the second subscriberdevice 108, as described herein.

A traffic advertisement analyzer of a particular subscriber device maysend the trigger message 150 via the first communication channel to theprovider device 104 in response to determining that the trafficadvertisement 128 has been received during the first paging window, thatthe particular subscriber device is included in the multiple recipients(e.g., is a data recipient), and that the particular subscriber deviceis available during a remaining portion of the first transmissionwindow. For example, a traffic advertisement analyzer (e.g., the trafficadvertisement analyzer 134) of the subscriber device 106, 108 may sendthe trigger message 150 via the first communication channel to theprovider device 104 in response to determining that the trafficadvertisement 128 has been received by the subscriber device 106, 108during the first paging window, that the traffic advertisement 128indicated that the subscriber device 106, 108 is a data recipient, andthat the subscriber device 106, 108 is available during the remainingportion of the first transmission window. The trigger message 150 mayindicate that the subscriber device 106, 108 is available to receivetraffic during the first data transmission window. As another example, atraffic advertisement analyzer of the third subscriber device 110 mayrefrain from sending the trigger message 150 via the first communicationchannel to the provider device 104 in response to determining that thethird subscriber device 110 is unavailable during a portion of the firsttransmission window.

In a particular aspect, the first subscriber device 106 and the secondsubscriber device 108 may contend for medium reservation to transmit therespective trigger messages 150. The first subscriber device 106 and thesecond subscriber device 108 may use contention mitigation techniques inaccordance with a NAN standard or protocol. For example, the trafficadvertisement analyzer 134 may select a random or pseudo-random starttime within the trigger slot, the beginning portion of the first datatransmission window, or the first data transmission window. The trafficadvertisement analyzer 134 may select a random or pseudo-random back-offcount. The traffic advertisement analyzer 134 may use a carrier sensemultiple access (CSMA) protocol based on the start time and theback-count as a contention mitigation technique to transmit the triggermessage 150 to the provider device 104.

In a particular aspect, the traffic advertisement analyzer 134 mayrefrain from sending the trigger message 150 in response to determiningthat traffic advertisement analyzer 134 sent the ACK 138 to the providerdevice 104 during the first paging window. For example, the trafficadvertisement analyzer 134 of the first subscriber device 106 mayrefrain from sending the trigger message 150 to the provider device 104in response to determining that the ACK 138 has been sent from the firstsubscriber device 106. A traffic advertisement analyzer of the secondsubscriber device 108 may send the trigger message 150 to the providerdevice 104 in response to determining that the traffic advertisementanalyzer 134 received the traffic advertisement 128 during the firstpaging window, that the traffic advertisement 128 indicated that thesecond subscriber device 108 is a data recipient, that the secondsubscriber device 108 is available during a remaining portion of thefirst transmission window, and that an ACK responsive to the trafficadvertisement 128 has not been sent from the second subscriber device108 during the first paging window.

The traffic advertisement generator 130 may send the data 122 via thefirst communication channel during the first data transmission window tothe subscriber device 106, 108 in response to determining that thetrigger message 150 has been received from the subscriber device 106,108 during the first paging window. In a particular aspect, the trafficadvertisement generator 130 may send the data 122 to an acknowledgingsubscriber device from which the traffic advertisement generator 130 hasreceived an ACK responsive to the traffic advertisement 128 during thefirst paging window, regardless of whether a data trigger (e.g., thetrigger message 150) has been received from the acknowledging subscriberdevice. For example, the traffic advertisement generator 130 may sendthe data 122 to the first subscriber device 106 in response todetermining that the ACK 138 has been received from the first subscriberdevice 106 during the first paging window, regardless of whether thetrigger message 150 is received from the first subscriber device 106 bythe traffic advertisement generator 130. The traffic advertisementgenerator 130 may send the data 122 to the second subscriber device 108in response to receiving the trigger message 150 from the secondsubscriber device 108. The data 122 sent to the second subscriber device108 may be distinct from the data 122 sent to the first subscriberdevice 106.

The trigger slot may occur subsequent to an end of the first pagingwindow and prior to a beginning of the first data transmission window.In a particular aspect, the trigger message 150 may be exchanged duringthe trigger slot, during a beginning portion of the first datatransmission window, or during the first data transmission window.

In a particular aspect, trigger duration of the trigger slot may bedynamically determined. For example, the traffic advertisement generator130 may determine that the trigger slot has ended and that the firstdata transmission window has started in response to determining thatexpected data triggers (e.g., the trigger message 150) have beenreceived during the trigger slot. In a particular aspect, the expecteddata triggers may correspond to data triggers from each of the datarecipients (e.g., the subscriber devices 106-110). In an alternateaspect, the expected data triggers may exclude a data trigger from anacknowledging subscriber device (e.g., the first subscriber device 106)from which the traffic advertisement generator 130 received an ACKduring the first paging window.

The beginning portion (e.g., an acknowledgement window) of the datatransmission window during which a data trigger (e.g., the triggermessage 150) may be exchanged may have a particular duration. Theparticular duration may be a default value or may be based on userinput. In a particular aspect, the particular duration may bedynamically determined. For example, the traffic advertisement generator130 may determine that the beginning portion of the first datatransmission window has ended in response to determining that theexpected data triggers have been received.

The traffic advertisement generator 130 may send the data 122 inresponse to receiving the trigger message 150. For example, the trafficadvertisement generator 130 may send the data 122 to the firstsubscriber device 106 in response to receiving the trigger message 150from the first subscriber device 106. As another example, the trafficadvertisement generator 130 may send the data 122 to the secondsubscriber device 108 in response to receiving the trigger message 150from the second subscriber device 108. The traffic advertisementgenerator 130 may refrain from sending the data 122 to the thirdsubscriber device 110 in response to determining that no data trigger(e.g. the trigger message 150) has been received from the thirdsubscriber device 110 during the trigger slot or the beginning portionof the first data transmission window.

The data 122 sent to the first subscriber device 106 may be same as ordistinct from the data 122 send to the second subscriber device 108. Thetraffic advertisement generator 130 may send the data 122 during asecond portion (e.g., an ending portion) of the first data transmissionwindow. The second portion of the first data transmission window may besubsequent to the beginning portion (e.g., the acknowledgement window)of the data transmission window.

An electronic device (e.g., the devices 104-112) of the data path groupmay be available during a portion (e.g., 80%) of the one or moretransmission windows. The provider device 104 (or the subscriber device106-112) may not receive messages from the subscriber device 106-112 (orthe provider device 104) because the subscriber device 106-112 (or theprovider device 104) may be unavailable or because of network errors.The provider device 104 (or the subscriber device 106-112) may conserveresources by refraining from monitoring the particular communicationchannel when one or more of the subscriber devices 106-112 are (or theprovider device 104 is) unavailable to receive (or send) data or isunable to receive (send) data because of network errors.

In a particular aspect, a traffic advertisement analyzer (e.g., thetraffic advertisement analyzer 134) of a particular subscriber device(e.g., the first subscriber device 106) may remain in the activeoperating mode during a remaining portion of the first transmissionwindow in response to determining that an ACK (e.g., the ACK 138)responsive to the traffic advertisement 128 has been sent to theprovider device 104 from the particular subscriber device (e.g., thefirst subscriber device 106) during the first paging window.

In a particular aspect, the traffic advertisement generator 130 maytransition to the inactive mode during a remaining portion of the firsttransmission window in response to determining that no data triggers(e.g., the trigger message 150) have been received during the triggerslot or during the beginning portion of the first data transmissionwindow. For example, the traffic advertisement generator 130 may sendthe traffic advertisement 128 at a first time. The traffic advertisementgenerator 130 may, in response to determining, at a second time, that adifference between the first time and the second time is greater than atrigger threshold and that receipt of no trigger messages responsive tothe traffic advertisement 128 has been detected, transition to aninactive mode during a remaining portion of the first transmissionwindow. In some implementations, the traffic advertisement 128, thefirst negotiation message 1928, the second negotiation message 1938, aservice advertisement, another message, or a combination thereof, mayindicate the trigger threshold. For example, the traffic advertisementgenerator 130 may determine the trigger threshold based on a count(e.g., 3) of the multiple subscriber devices (e.g., the subscriberdevices 106-110). The trigger threshold may be longer for a higher countof the multiple subscriber devices.

In a particular aspect, the traffic advertisement generator 130 mayremain in the active mode during a remaining portion of the firsttransmission window in response to determining that the trigger message150 has been received from at least one subscriber device (e.g., thesubscriber device 106-108).

In a particular aspect, the traffic advertisement generator 130 mayremain in the active mode during a remaining portion of the firsttransmission window in response to determining that an ACK (e.g., theACK 138) has been received by the provider device 104 from at least onesubscriber device (e.g., the first subscriber device 106) during thefirst paging window (e.g., regardless of whether the trigger message 150has been received by the provider device 104).

In a particular aspect, the traffic advertisement generator 130, thetraffic advertisement analyzer 134, or both, may refrain from monitoringthe first communication channel while in the inactive mode. Atransceiver of the device 104-114 may receive data via the firstcommunication channel during the first transmission window and mayrefrain from providing the data to a traffic advertisement analyzer (ora traffic advertisement generator) in response to determining that thetraffic advertisement analyzer (or the traffic advertisement generator)is refraining from monitoring the first communication channel during thefirst transmission window. For example, the transceiver 136 of theprovider device 104 may receive data via the first communication channelduring the first transmission window and may refrain from providing thedata to the traffic advertisement generator 130 in response todetermining that the traffic advertisement generator 130 is refrainingfrom monitoring the first communication channel during the firsttransmission window. As another example, the transceiver 136 of thefirst subscriber device 106 may receive data via the first communicationchannel during the first transmission window and may refrain fromproviding the data to the traffic advertisement analyzer 134 in responseto determining that the traffic advertisement analyzer 134 is refrainingfrom monitoring the first communication channel during the firsttransmission window.

In a particular aspect, the transceiver 136 may provide the data to awireless interface and the wireless interface may refrain from providingthe data to the traffic advertisement analyzer 134 (or to the trafficadvertisement generator 130) in response to determining that the trafficadvertisement analyzer 134 (or the traffic advertisement generator 130)is refraining from monitoring the first communication channel during thefirst transmission window.

In a particular aspect, the wireless interface or the transceiver 136may discard the data in response to determining that the trafficadvertisement analyzer 134 (or the traffic advertisement generator 130)is refraining from monitoring the first communication channel during thefirst transmission window. In a particular aspect, the wirelessinterface may provide the data to the traffic advertisement analyzer 134(or the traffic advertisement generator 130) in response to determiningthat the traffic advertisement analyzer 134 (or the trafficadvertisement generator 130) is monitoring the first communicationchannel during the first transmission window.

In a particular aspect, the traffic advertisement generator 130, thetraffic advertisement analyzer 134, or both, may perform a “capabilitiesexchange” prior to the traffic advertisement generator 130 sending thedata 122 to the first subscriber device 106. For example, the trafficadvertisement generator 130 may send a first capabilities message thatincludes first communication information of the provider device 104 tothe first subscriber device 106, the traffic advertisement analyzer 134may send a second capabilities message that includes secondcommunication information of the first subscriber device 106 to theprovider device 104, or both. The communication information (e.g., thefirst communication information, the second communication information,or both) may include security information (e.g., group keys or commonnetwork keys). The capabilities exchange may be performed during thefirst paging window, the trigger slot, the beginning portion of thefirst data transmission window, the first data transmission window, or acombination thereof. In a particular aspect, the second capabilitiesmessage may correspond to the trigger message 150.

The traffic advertisement generator 130 may send the data 122 based onthe first communication information, the second communicationinformation, or both. For example, the traffic advertisement generator130 may encrypt the data 122 based on security information of theprovider device 104, security information of the first subscriber device106, or both, prior to sending the data 122.

The traffic advertisement analyzer 134 may receive the data 122 via thefirst communication channel during the first data transmission window.For example, the traffic advertisement analyzer 134 may receive the data122 via the transceiver 136 of the first subscriber device 106. In aparticular aspect, the transceiver 136 of the first subscriber device106 may receive the data 122 and may provide the data 122 to the trafficadvertisement analyzer 134 in response to determining that the trafficadvertisement analyzer 134 is monitoring the first communication channelduring the first data transmission window.

In a particular aspect, the traffic advertisement generator 130 and thetraffic advertisement analyzer 134 may exchange data via multiplelogical channels. The multiple logical channels may include one or moreof the available logical channels, the basic channel, or a combinationthereof. Each logical channel may correspond to a distinct data session.In a particular aspect, a first transmission window of a first logicalchannel of the multiple logical channels may overlap a secondtransmission window of a second logical channel of the multiple logicalchannels. In this aspect, the transceiver 136 of the provider device 104and the transceiver 136 of the first subscriber device 106 may becommunicating via multiple communication channels (e.g., a firstcommunication channel corresponding to the first logical channel and asecond communication channel corresponding to the second logicalchannel).

In a particular aspect, the traffic advertisement 128 may include anaddress list (e.g., a MAC address indicator list) indicating therecipients. A MAC address indicator of the MAC address indicator listmay include at least a portion of a MAC address of a correspondingrecipient, a hash value based on the MAC address, or another value basedon the MAC address. The address list may be represented by a trafficindication map (TIM), a Bloom filter, or in some other manner. In aparticular aspect, a value of a particular field of the trafficadvertisement 128 may indicate whether the address list is representedby a TIM or by a Bloom filter. The traffic advertisement analyzer 134may determine whether the address list is represented by the TIM or theBloom filter based on the value (e.g., 0 or 1) of the particular field.

The TIM may include a bitmap that indicates whether particularelectronic devices are recipients of the data to be sent (e.g., the data122). Each bit of the TIM may correspond to a different electronicdevice of the data path group, and a value of each bit may indicatewhether or not the corresponding electronic device is a recipient of thedata 122. A correspondence between the bit of the TIM and eachelectronic device may be based on an association identifier (AID). Forexample, the first subscriber device 106 may associate with the providerdevice 104. The provider device 104 and the first subscriber device 106may generate and exchange AIDs. For example, the first subscriber device106 may associate with the provider device 104. The provider device 104may assign a first AID (e.g., 2) to the first subscriber device 106 andmay send the first AID to the first subscriber device 106. The firstsubscriber device 106 may receive the first AID (e.g., 2) from theprovider device 104. The subscriber devices 108, 110, and 112 mayreceive distinct AIDs (e.g., 3 and 4, respectively) during associationwith the provider device 104. The AIDs may be used by the subscriberdevice 106-112 to identify corresponding bits in the TIM received fromthe provider device 104. A particular bit of the TIM may correspond to aparticular AID. For example, a second bit of the TIM may correspond tothe first subscriber device 106 due to the AID of 2. In this example, athird bit, a fourth bit, and a fifth bit of the TIM may correspond tothe second subscriber device 108, the third subscriber device 110, andthe fourth subscriber device 112, respectively (a first bit of the TIMmay be reserved).

Each of the subscriber devices 106-112 may determine whether it is arecipient of the data 122 based on the corresponding bit in the TIMreceived from the provider device 104. For example, a determination thatthe subscriber devices 106-110 are recipients of the data 122 may bebased on the second bit, the third bit, and the fourth bit of the TIMhaving a logical value of one, and a determination that the fourthsubscriber device 112 is not a recipient may be based on the fifth bithaving a logical zero value. The TIM may be compliant with an IEEE802.11 specification.

In a particular aspect, the traffic advertisement 128 may include aBloom filter to represent the address list. The Bloom filter is a datastructure (e.g., a string of bits) that indicates membership in a set(e.g., a set of recipients of the data 122) without explicitlyidentifying members of the set. The Bloom filter may be smaller (e.g.,use less storage space) than a TIM and thus may reduce overhead in thenetworks and may reduce power consumption associated with transmittingthe Bloom filter as compared to transmitting the TIM. An electronicdevice may be indicated as a recipient of the data 122 in the Bloomfilter using a set of hash functions corresponding to the Bloom filter.For example, the Bloom filter may be a bit array of m bits that areinitialized to a logical zero value, and the Bloom filter may correspondto a set of k hash functions. To indicate that a particular electronicdevice is a recipient of the data 122, a string of bits corresponding tothe particular electronic device may be passed through the k hashfunctions to generate a set of bit positions, and each bit in the Bloomfilter corresponding to the set of bit positions is set to a logical onevalue. In a particular aspect, the string of bits is a MAC address ofthe particular electronic device. Other electronic devices may beindicated as recipients of the data 122 by determining correspondingsets of bit positions based on corresponding strings of bits (e.g., MACaddresses) and by setting each bit in the Bloom filter corresponding tothe sets of bit positions to a logical one value.

In a particular aspect, a hash function H(j, X, M) representing a jthindex hash of a bit string X (e.g., a MAC address) for a Bloom filterhaving length M is computed in three steps. A first intermediate resultA(j, X) may be determined based on Equation 1.A(j,X)=[j∥X]  (Eq. 1)

In Equation 1, ∥ represents a concatenation operation and j isrepresented in one byte. Thus, A(j, X) may represent a concatenation ofa one byte index (e.g., a jth index) with a MAC address (e.g., bitstring X). A second intermediate result B(j, X) may be determined basedon Equation 2.B(j,X)=CRC32(A(j,X))&0x0000FFFF  (Eq. 2)

In Equation 2, CRC32( ) is a 32-bit cyclic redundancy check operationdefined in a NAN standard. Thus, B(j, X) may represent the last twobytes of a result of a 32-bit CRC operation performed on the firstintermediate result A(j, X). The hash function H(j, X, M) may bedetermined based on Equation 3.H(j,X,M)=B(j,X)mod M  (Eq. 3)

In Equation 3, mod represents a modulo or modulus operation. In thismanner, multiple hash functions can be determined for multiple differentj indices using Equations 1-3. In other aspects, different hashfunctions may be used and communicated to the electronic devices of thedata path group.

In a particular aspect, a set of four hash functions corresponds to theBloom filter. A bloom filter index may be included in the trafficadvertisement 128 to identify (e.g., to indicate) the set of four hashfunctions that corresponds to the Bloom filter. In a particular aspect,the bloom filter index is a two-bit number that indicates one of foursets of four hash functions determined based on different index valuesusing Equations 1-3. In this aspect, set of hash functions identified(e.g., indicated) by the bloom filter index are shown in Table 1.

TABLE 1 Bloom Filter Hash Functions Set Index (Binary) 1 2 3 4 1 00H(0x00, X, M) H(0x01, X, M) H(0x02, X, M) H(0x03, X, M) 2 01 H(0x04, X,M) H(0x05, X, M) H(0x06, X, M) H(0x07, X, M) 3 10 H(0x08, X, M) H(0x09,X, M) H(0x0A, X, M) H(0x0B, X, M) 4 11 H(0x0C, X, M) H(0x0D, X, M)H(0x0E, X, M) H(0x0F, X, M)

In the aspect where the traffic advertisement 128 includes the Bloomfilter, the traffic advertisement generator 130 may select a particularset of hash functions to correspond to the Bloom filter and may generatethe Bloom filter based on the particular set of hash functions and basedon MAC addresses of the electronic devices that are to receive the data122. For example, the traffic advertisement generator 130 may determinethat the first subscriber device 106 is to be a recipient of the data122, and the traffic advertisement generator 130 may generate the Bloomfilter based on the particular set of hash functions and based on theMAC address 156 of the first subscriber device 106. The trafficadvertisement generator 130 may have previously stored the MAC addressesof other electronic devices in memory. For example, the trafficadvertisement generator 130 may store the MAC address 156 in response toreceiving the subscribe message.

The Bloom filter, the Bloom filter index, and a size of the Bloom filtermay be included in the traffic advertisement 128 generated by thetraffic advertisement generator 130. The Bloom filter index may indicatethe particular set of hash functions that corresponds to the Bloomfilter (as shown in Table 1). The size of the Bloom filter may indicatea number of bits in the data structure. The size may be determined basedon a target false positive percentage corresponding to the Bloom filter.For example, the Bloom filter may generate false positive matches (e.g.,may erroneously indicate that a particular electronic device is arecipient of the data 122) and a percentage of false positive matchesgenerated by the Bloom filter may be related to the size of the Bloomfilter. The traffic advertisement generator 130 may determine the sizesuch that the false positive percentage approaches a target falsepositive percentage. To illustrate, increasing the size of the Bloomfilter may decrease the false positive percentage, while decreasing thesize of the Bloom filter may reduce overhead associated withtransmitting the Bloom filter at a cost of increasing the false positivepercentage.

Each electronic device (e.g., the subscriber device 106-112) thatreceives the traffic advertisement 128 may determine whether theelectronic device is a recipient of the data 122 based on a Bloom filterincluded in the traffic advertisement 128, a set of hash functionsindicated by a Bloom filter index included in the traffic advertisement128, and a corresponding MAC address. For example, the trafficadvertisement analyzer 134 may determine a set of bit positions bypassing a MAC address of the first subscriber device 106 through the setof hash functions. The traffic advertisement analyzer 134 may comparebit(s) in the Bloom filter corresponding to each of the set of bitpositions to a particular value (e.g., a logical one value). If thebit(s) corresponding to the set of bit positions each have theparticular value (e.g., the logical one value), the trafficadvertisement analyzer 134 may determine that the first subscriberdevice 106 is identified (e.g., indicated) as a recipient of the data122. If one or more of the bit(s) corresponding to the set of bitpositions do not have the particular value (e.g., one or more of thebit(s) has a logical zero value), the traffic advertisement analyzer 134may determine that the first subscriber device 106 is not identified(e.g., indicated) as a recipient of the data 122.

In a particular aspect, the traffic advertisement generator 130 mayselect whether the traffic advertisement 128 is to be generated toinclude a TIM, a MAC address indicator list, bits representing a bloomfilter, or an ATIM. The selection may be based on determining whether acount of the recipients of the data 122 is less than a threshold,determining whether an AID has been assigned to at least one of therecipients of the data 122, or both. For example, the trafficadvertisement generator 130 may generate the traffic advertisement 128to include a MAC address indicator list in response to determining thata count of the recipients of the data 122 is less than a list threshold.Alternatively, the traffic advertisement generator 130 may generate thetraffic advertisement 128 to include a bloom filter in response todetermining that the count of the recipients of the data 122 is greaterthan or equal to the list threshold. As another example, the trafficadvertisement generator 130 may generate the traffic advertisement 128to include a TIM in response to determining that an AID has beenassigned to at least one of the subscriber devices 106-110.

The traffic advertisement generator 130 may generate the trafficadvertisement 128 to include an ATIM in response to determining thatnone of the recipients of the data 122 have been assigned an AID andthat the count of the recipients of the data 122 is less than athreshold. In some implementations, the traffic advertisement generator130 may send a distinct traffic advertisement (e.g., the trafficadvertisement 128) to each of the recipients of the data 122 when thetraffic advertisement includes an ATIM. For example, the trafficadvertisement generator 130 may send a first traffic advertisement(e.g., the traffic advertisement 128) including a first ATIM to thefirst subscriber device 106, a second traffic advertisement (e.g., thetraffic advertisement 128) including a second ATIM to the secondsubscriber device 108, a third traffic advertisement (e.g., the trafficadvertisement 128) including a third ATIM to the third subscriber device110, or a combination thereof. A subscriber device (e.g., the subscriberdevice 106-110) may, in response to receiving the traffic advertisement128 including an ATIM, send the ACK 138 to the provider device 104. Forexample, the first subscriber device 106 may send the ACK 138 to theprovider device 104 in response to receiving the first trafficadvertisement (e.g., the traffic advertisement 128), the secondsubscriber device 108 may send the ACK 138 to the provider device 104 inresponse to receiving the second traffic advertisement (e.g., thetraffic advertisement 128), and so on. In alternate implementations, thetraffic advertisement generator 130 may send the same trafficadvertisement (e.g., the traffic advertisement 128) to each of therecipients of the data 122. The traffic advertisement generator 130 mayset a destination field of the ATIM to indicate a group address (e.g.,an NDL group ID of an NDL group associated with the trafficadvertisement 128 or another value that represents a subset of devicesof the NDL group).

The trigger message 150 may include at least one of a power-save poll(PS-POLL) message, a quality of service null (QoS_NULL) frame, theQoS_NULL frame indicating a reverse direction grant (RDG), an ATIM, anaction frame (e.g., a public action frame), or another frame. In aparticular aspect, a first power-save poll (PS-POLL) message may operateas the trigger message 150. For example, the traffic advertisementanalyzer 134 may generate the first PS-POLL message in a similar mannerto generation of a PS-POLL message in a traditional access point (AP)based wireless network. However, the traffic advertisement analyzer 134may generate the first PS-POLL message as a broadcast message, ascompared to a unicast PS-POLL message in the traditional AP basedwireless network.

In a particular aspect, the trigger message 150 may be responsive totraffic advertisements (e.g., the traffic advertisement 128) receivedfrom a plurality of devices. For example, the first subscriber device106 may receive the traffic advertisement 128 from the provider device104 and may receive a second traffic advertisement from a secondprovider device. The trigger message 150 may be responsive to thetraffic advertisement 128 and the second traffic advertisement. Forexample, the first PS-POLL message may operate as a data trigger formultiple devices (e.g., the provider device 104 and the second providerdevice). To illustrate, multiple electronic devices (e.g., the providerdevice 104 and the second provider device) may receive the first PS-POLLmessage and may send data to the first subscriber device 106 in responseto receiving the first PS-POLL message. The trigger message 150 mayinclude a multicast message or a unicast message.

In a particular aspect, the traffic advertisement analyzer 134 may set aportion (e.g., a third octet and a fourth octet) of the first PS-POLLmessage to a particular value (e.g., “0”s). The traffic advertisementanalyzer 134 may transmit the first PS-POLL message via the firstcommunication channel during the trigger slot, during a beginningportion of the first data transmission window, or during the first datatransmission window.

The traffic advertisement generator 130 may receive the first PS-POLLmessage during the trigger slot, during the beginning portion of thefirst data transmission window, or during the first data transmissionwindow. In response to receiving the first PS-POLL message, the trafficadvertisement generator 130 may transmit the data 122 to the firstsubscriber device 106 via the first communication channel during thefirst data transmission window (or during the trigger slot, during thebeginning portion of the first data transmission window, or during thefirst data transmission window).

In a particular aspect, a quality of service null (QoS_NULL) frame mayoperate as trigger message 150. For example, the traffic advertisementanalyzer 134 may generate the QoS_NULL frame. The QoS_NULL frame mayindicate a RDG from the provider device 104. For example, value(s) ofone or more bits in the QoS_NULL frame may indicate the RDG. The RDG maybe similar to a RDG in a physical protocol data unit (PPDU), inaccordance with one or more wireless standards or protocols, but may beincluded in the QoS_NULL frame instead of the PPDU. The RDG mayauthorize a recipient of the QoS_NULL frame to use a transmitopportunity (tx_op) of a sender of the QoS_NULL frame to transmit dataduring a tx_op of the sender. For example, the traffic advertisementanalyzer 134 may generate a QoS_NULL frame that indicates a RDG and maytransmit the QoS_NULL frame to the provider device 104 via the firstcommunication channel during the trigger slot, during the beginningportion of the first data transmission window, or during the first datatransmission window. The QoS_NULL frame with the RDG may authorize theprovider device 104 to send a frame of the data 122 to the firstsubscriber device 106 during a tx_op of the first subscriber device 106.

The traffic advertisement generator 130 may, in response to receivingthe QoS_NULL frame, transmit a frame of the data 122 to the firstsubscriber device 106 via the first communication channel during thetx_op of the first subscriber device 106. In this manner, the providerdevice 104 may not have to contend for the first communication channelprior to transmitting the frame of the data 122. When the data 122 is asingle frame, an entirety of the data 122 may be transmitted from theprovider device 104 to the first subscriber device 106 in response tothe QoS_NULL frame. When the data 122 includes more than one frame, thetraffic advertisement generator 130 may indicate, via one or more bitsin the frame of the data 122, that additional frames of the data 122 areto be transmitted. For example, the traffic advertisement generator 130may indicate that additional frames of the data 122 are to betransmitted via a more bit or an end-of-service-period (EOSP) bit.

In response to receiving the frame of the data 122 with an indicationthat additional frames of the data 122 are to be transmitted, thetraffic advertisement analyzer 134 may contend for the firstcommunication channel and, upon successful contention, the trafficadvertisement analyzer 134 may transmit another QoS_NULL frame with aRDG to the provider device 104 to cause the provider device 104 totransmit another frame of the data 122. This process may be repeateduntil the traffic advertisement generator 130 has sent an entirety ofthe data 122 or until a termination of the first data transmissionwindow.

In some aspects, the first subscriber device 106 may be indicated as arecipient of data from multiple other electronic devices. In theseaspects, the traffic advertisement analyzer 134 may transmit a QoS_NULLframe with a RDG to the multiple electronic devices and may receive dataresponsive to the QoS_NULL frames from each of the multiple electronicdevices. When the traffic advertisement analyzer 134 has received a dataframe in response to each QoS_NULL frame, and when the data frame doesnot indicate that more data is to be transmitted, the first subscriberdevice 106 may transition to the inactive mode for a remainder of thefirst data transmission window. When at least one data frame indicatesthat more data is to be transmitted to the first subscriber device 106,the first subscriber device 106 may remain in the active operating modeand may continue to transmit QoS_NULL frames with RDGs.

In some aspects, the provider device 104 may have data to send tomultiple recipients. In these aspects, the traffic advertisementgenerator 130 may transmit a QoS_NULL frame with a RDG to the multipleelectronic devices and may receive data triggers (e.g., the triggermessage 150) responsive to the QoS_NULL frames from each of the multipleelectronic devices. When the traffic advertisement generator 130 hasreceived a data trigger in response to each QoS_NULL frame, the providerdevice 104 may transition to the inactive mode for a remainder of thetrigger slot or a remainder of the beginning portion of the first datatransmission window.

In a particular aspect, the first subscriber device 106 may operate as aprovider (or forwarder) of the particular service. For example, atraffic advertisement generator of the first subscriber device 106 mayforward the traffic advertisement 128 to electronic devices of the NAN102 that are within a single hop count of the first subscriber device106. To illustrate, the traffic advertisement generator of the firstsubscriber device 106 may send the traffic advertisement 128 to thefifth subscriber device 114. A traffic advertisement analyzer of thefifth subscriber device 114 may send an ACK to the first subscriberdevice 106 in response to the traffic advertisement 128. The trafficadvertisement analyzer of the fifth subscriber device 114 may send adata trigger (e.g., the trigger message 150) to the first subscriberdevice 106. The traffic advertisement generator of the first subscriberdevice 106 may send data (e.g., the data 122) to the fifth subscriberdevice 114. The fifth subscriber device 114 may thus receive dataassociated with the particular service provided by the provider device104 even though the provider device 104 is not within a single hop ofthe fifth subscriber device 114.

The system 100 may thus reduce power consumption at the device 104-114of the NAN 102. For example, the first subscriber device 106 maytransition to the inactive mode (e.g., the sleep mode) during aremaining portion of a transmission window based on a determination thatno traffic advertisement indicating the first subscriber device 106 as adata recipient has been received during a paging window. As anotherexample, the provider device 104 may transition to the inactive mode inresponse to determining that no ACK responsive to the trafficadvertisement has been received during the paging window. As a furtherexample, the provider device 104 may transition to the inactive modeduring a remaining portion of the paging window in response to receivinga single ACK responsive to the traffic advertisement. Thus, the providerdevice 104, the first subscriber device 106, or both may conserve powerwhile in the inactive mode, as compared to substantially continuouslymonitoring the communication channel for data transmissions.

Referring to FIG. 2, a diagram is shown and generally designated 200. Ina particular aspect, the diagram 200 may correspond to operation of aparticular aspect of the system 100 of FIG. 1. The timing and operationsshown in FIG. 2 are for illustration and are not limiting. In otheraspects, additional or fewer operations may be performed and the timingmay be different.

A paging window 212 associated with a particular logical channel of adata path group, as described with reference to FIG. 1, may begin at apaging begin time and may end at a paging end time. For example, thepaging begin time may include a first time 204 and the paging end timemay include a second time 206. A trigger slot 214 associated with theparticular logical channel may begin at approximately the second time206 and may end at a third time 208. In a particular aspect, the triggerslot 214 may correspond to a beginning portion of a data transmissionwindow 218. An ending portion of the data transmission window 218 maybegin at approximately the third time 208 and may end at a fourth time210. The data transmission window 218 may begin at a data begin time andmay end at a data end time. For example, the data begin time may includethe second time 206 and the data end time may include the fourth time210. In a particular implementation, the data begin time may include thethird time 208 and the data end time may include the fourth time 210.

The traffic advertisement generator 130 of FIG. 1 may determine that theprovider device 104 has data to send to multiple recipients (e.g., thesubscriber devices 106-110) during the data transmission window 218 orthe ending portion of the data transmission window 218, as describedwith reference to FIG. 1. During the paging window 212, the providerdevice 104 (e.g., the traffic advertisement generator 130) may send thetraffic advertisement 128 to subscriber devices of the data path groupduring the paging window 212. For example, the provider device 104(e.g., the traffic advertisement generator 130) may send the trafficadvertisement 128 via a first communication channel corresponding to theparticular logical channel, as described with reference to FIG. 1. Eachof the subscriber devices 106-112 may receive the traffic advertisement128.

A particular subscriber device of the subscriber devices of the datapath group may send an ACK in response to receiving the trafficadvertisement 128, as described with reference to FIG. 1. For example,the first subscriber device 106 (e.g., the traffic advertisementanalyzer 134) may send the ACK 138 during the paging window 212. The ACK138 may be responsive to the traffic advertisement 128.

In a particular aspect, the provider device 104 (e.g., the trafficadvertisement generator 130) may determine, at the second time 206, thatthe trigger slot 214 or that the data transmission window 218 hasstarted in response to determining that at least one ACK (e.g., the ACK138) responsive to the traffic advertisement 128 has been receivedduring the paging window 212. For example, the provider device 104 maydetermine that the trigger slot 214 or that the data transmission window218 has started in response to receiving an ACK (e.g., the ACK 138) froma single subscriber device of the multiple subscriber devices (e.g., thesubscriber devices 106-110) without waiting to receive ACKs from theremaining subscriber devices (e.g., the subscriber devices 108-110) ofthe multiple subscriber devices. The provider device 104 may, inresponse to receiving the ACK 138 from the first subscriber device 106,determine that the remaining subscriber devices are likely to havereceived the traffic advertisement 128. Alternatively, the providerdevice 104 may determine that the multiple subscriber devices (106-110)are unavailable or unreachable in response to determining that no ACKsresponsive to the traffic advertisement 128 have been received duringthe first paging window.

Subscriber device 106-108 may send data triggers (e.g., the triggermessage 150) to the provider device 104 during the trigger slot 214,during the beginning portion of the data transmission window 218, orduring the data transmission window 218, as described with reference toFIG. 1. The third subscriber device 110 may refrain from sending thetrigger message 150 in response to determining that the third subscriberdevice 110 is unavailable, as described with reference to FIG. 1. In aparticular aspect, the provider device 104 (e.g., the trafficadvertisement generator 130) may determine that the trigger slot 214 hasended in response to determining that each expected data trigger hasbeen received during the trigger slot 214, as described with referenceto FIG. 1. The expected data triggers may include data triggers from themultiple subscriber devices (e.g., the subscriber devices 106-110). In aparticular aspect, the expected data triggers may exclude a data trigger(e.g., the trigger message 150) from an acknowledging subscriber device(e.g., the first subscriber device 106).

The provider device 104 (e.g., the traffic advertisement generator 130)may send data to a particular subscriber device in response todetermining that a data trigger (e.g., the trigger message 150) has beenreceived from the particular subscriber device, as described withreference to FIG. 1. For example, the traffic advertisement generator130 may send the data 122 to the first subscriber device 106 in responseto determining that the trigger message 150 has been received from thefirst subscriber device 106. As another example, the trafficadvertisement generator 130 may send the data 122 to the secondsubscriber device 108 in response to determining that the triggermessage 150 has been received from the second subscriber device 108. Thetraffic advertisement generator 130 may refrain from sending the data122 to the third subscriber device 110 in response to determining thatno data triggers (e.g., the trigger message 150) have been received fromthe third subscriber device 110. In a particular aspect, the trafficadvertisement generator 130 may determine that the data transmissionwindow 218 has ended at the fourth time 210 in response to determiningthat the data 122 has been sent to each subscriber device from which adata trigger (e.g., the trigger message 150) has been received.

In a particular aspect, the traffic advertisement generator 130 may sendthe data 122 to the acknowledging subscriber device (e.g., the firstsubscriber device 106) independently of receiving the trigger message150 from the acknowledging subscriber device. The traffic advertisementgenerator 130 may determine that the data transmission window 218 hasended at the fourth time 210 in response to determining that the data122 has been sent to the acknowledging subscriber device (e.g., thefirst subscriber device 106) and each subscriber device from which adata trigger (e.g., the trigger message 150) has been received. Thetraffic advertisement generator 130 may transition to a inactive mode inresponse to determining that the data transmission window 218 hasexpired.

In a particular aspect, the provider device 104 conserve resources atthe end of the paging window 212 in response to determining that no ACKsresponsive to the traffic advertisement 128 have been received duringthe paging window 212. For example, the provide device 104 may not havereceived an ACK because subscriber devices are unavailable or there is anetwork connectivity problem. The provider device 104 may transition toa inactive mode, monitor another communication channel corresponding toanother logical channel, or perform other tasks, as compared to usingresources to monitor the first data communication channel during thetrigger slot 214 or during the data transmission window 218.

As another example, the provider device 104 may determine that thetrigger slot 214 (or the data transmission window 218) has started inresponse to determining that a single ACK (e.g., the ACK 138) responsiveto the traffic advertisement 128 has been received. The provider device104 may not have to wait to receive ACKs from each available recipientof the data. A size of the paging window 212 may thus be reduced toaccommodate the single ACK, as compared to accommodating multiple ACKs.A smaller paging window 212 may reduce resource consumption of one ormore electronic devices of the data path group. For example, the one ormore electronic devices may monitor the first communication channelduring the paging window 212. A smaller paging window may result infewer resources of the one or more electronic devices being used tomonitor the first communication channel.

FIGS. 1-6 illustrate various aspects and operations of a system thatincludes a NAN 102. The aspects and operations shown in FIG. 1-6 are forillustration and are not limiting. In other aspects, one or moreportions of the aspects and operations shown in FIGS. 1-6 may becombined.

Referring to FIG. 3, a particular aspect of a system 300 that includesthe neighbor aware network (NAN) 102 is shown. The system 300 differsfrom the system 100 of FIG. 1 in that the provider device 104 may, priorto sending the traffic advertisement 128, send a request-to-send (RTS)frame (e.g., an RTS frame 324) via the transceiver 136 of the providerdevice 104 to a particular subscriber device (e.g., the subscriberdevice 106-110) of the multiple subscriber devices. The trafficadvertisement generator 130 may send the RTS frame 324 to reduce alikelihood of a frame collision when sending the traffic advertisement128.

The traffic advertisement generator 130 may send the RTS frame 324 via afirst communication channel during a first paging window of a firsttransmission window. The first communication channel and the firsttransmission window may correspond to a first logical channel associatedwith a data path group. In a particular aspect, the first communicationchannel (e.g., the NAN communication channel) and the first transmissionwindow may correspond to a basic channel of the data path group.

A traffic advertisement analyzer (e.g., the traffic advertisementanalyzer 134) of a particular subscriber device (e.g., the firstsubscriber device 106) may receive the RTS frame 324. The trafficadvertisement analyzer 134 may send a clear-to-send (CTS) frame 326 viathe first communication channel during the first paging window inresponse to receiving the RTS frame 324. The CTS frame 326 may indicatethat a channel (e.g., the first communication channel) has been reserved(and will be collision-free) during an upcoming time period. Thus, theCTS frame 326 may indicate that the provider device 104 has permissionto send data (e.g., the traffic advertisement 128) during the upcomingtime period. The traffic advertisement analyzer 134 may reserve theupcoming time period to receive the traffic advertisement 128 from theprovider device 104. In a particular aspect, the traffic advertisementanalyzer 134 may transition the first subscriber device 106 to theinactive mode during a remaining portion of the first transmissionwindow in response to determining that no RTS frames were received froma provider device (e.g., the provider device 104) during the firstpaging window.

In a particular aspect, the traffic advertisement generator 130 maydetermine that no CTS frames have been received within a particularduration of sending the RTS frame 324. The particular duration may be adefault value or may be user defined. The traffic advertisementgenerator 130 may, in response to determining that no CTS frames havebeen received within the particular duration, determine that a firstnumber of RTS frames (e.g., the RTS frame 324) have been previously sentduring the first paging window. The traffic advertisement generator 130may, in response to determining that the first number satisfies an RTSthreshold (e.g., 2), refrain from sending the traffic advertisement 128during the first paging window. The RTS threshold may be a default valueor may be user defined. The traffic advertisement generator 130 maytransition to an inactive mode (e.g., a sleep mode) during a remainingportion of the first transmission window in response to determining thatthe first number satisfies the RTS threshold. Alternatively, the trafficadvertisement generator 130 may, in response to determining that thefirst number fails to satisfy the RTS threshold, send a second RTS frameto a second subscriber device (e.g., the subscriber device 106-110) ofthe multiple subscriber devices. For example, the traffic advertisementgenerator 130 may, at a first time, send the RTS frame 324 to the firstsubscriber device 106. The traffic advertisement generator 130 may, inresponse to determining at a second time that no CTS frames responsiveto the RTS frame 324 have been received from the first subscriber device106 and that the first number fails to satisfy the RTS threshold, send asecond RTS frame to the second subscriber device (e.g., the subscriberdevice 106-110). A difference between the first time and the second timemay be greater than or equal to a threshold (e.g., a short interframespace (SIFS) time). The traffic advertisement generator 130 may send thetraffic advertisement 128 in response to receiving a CTS frame from thesecond subscriber device (e.g., the subscriber device 106-110) that isresponsive to the second RTS frame.

The traffic advertisement generator 130 may attempt to send the trafficadvertisement 128 during a subsequent paging window. For example, thetraffic advertisement generator 130 may send another RTS frame duringthe subsequent paging window. The subsequent paging window maycorrespond to the first logical channel, to another logical channel ofthe data path group, or to the basic channel. The traffic advertisementgenerator 130 may send the traffic advertisement 128 via the firstcommunication channel during the first paging window. In a particularaspect, the traffic advertisement generator 130 may send the trafficadvertisement 128 in response to receiving the CTS frame 326. In aparticular aspect, the traffic advertisement generator 130 may receivethe CTS frame 326 from a particular subscriber device, and thedestination of the (e.g., unicast) traffic advertisement 128 may be thesame as or distinct from the particular subscriber device. The providerdevice 104 may receive the ACK 138 responsive to the trafficadvertisement 128 from an acknowledging subscriber device (e.g., thefirst subscriber device 106). The particular subscriber device may bethe same as or distinct from the acknowledging device. For example, theprovider device 104 may send the RTS frame 324 to the acknowledgingsubscriber device or to another subscriber device. A subscriber devicethat sends the CTS frame 326 responsive to the RTS frame 324 may be thesame as or distinct from the acknowledging subscriber device that sendsthe ACK 138 responsive to the traffic advertisement 128.

In some implementations, the provider device 104 may receive the CTSframe 326 responsive to the RTS frame 324 from a particular subscriberdevice. The provider device 104 may send the traffic advertisement 128in response to receiving the CTS frame 326. The provider device 104 maysend the data 122 independently of receiving the ACK 138 responsive tothe traffic advertisement 128, as further described with reference toFIG. 16.

The system 300 may thus enable the provider device 104 to reduce alikelihood of a frame collision when sending a traffic advertisementduring a paging window. With a frame collision, the subscriber devicemay not receive the traffic advertisement and may not acknowledge thetraffic advertisement. The provider device may, in response todetermining that an ACK is not received, refrain from sending dataduring a corresponding data transmission window. The provider device mayresend the traffic advertisement during a subsequent paging window.Without a frame collision, the subscriber device may receive the trafficadvertisement and may acknowledge the traffic advertisement. Theprovider device may send data in response to receiving theacknowledgement. As a result, network resources may be conserved. Forexample, the data may be sent earlier and the provider device mayperform other operations during the subsequent paging window.

Referring to FIG. 4, a diagram is shown and generally designated 400. Ina particular aspect, the diagram 400 may correspond to operation of aparticular aspect of the system 300 of FIG. 3. The timing and operationsshown in FIG. 4 are for illustration and are not limiting. In otheraspects, additional or fewer operations may be performed and the timingmay be different.

The diagram 400 may differ from the diagram 200 of FIG. 2 in that duringthe paging window 212, the provider device 104 (e.g., the trafficadvertisement generator 130 of FIG. 1) may send the RTS frame 324 to aparticular subscriber device (e.g., the first subscriber device 106) ofthe data path group, as described with reference to FIG. 3. The firstsubscriber device 106 (e.g., the traffic advertisement analyzer 134 ofFIG. 1) may send the CTS frame 326 to the provider device 104 during thepaging window 212 in response to receiving the RTS frame 324, asdescribed with reference to FIG. 3. The provider device 104 (e.g., thetraffic advertisement generator 130) may send the traffic advertisement128 in response to receiving the CTS frame 326.

The provider device 104 may conserve network resources by sending atraffic advertisement in response to receiving a CTS frame. For example,sending the traffic advertisement in response to receiving the CTS framemay reduce a likelihood of a frame collision when sending the trafficadvertisement during a paging window. With a frame collision, thesubscriber device may not receive the traffic advertisement and may notacknowledge the traffic advertisement. The provider device may, inresponse to determining that an ACK is not received, refrain fromsending data during a corresponding data transmission window. Theprovider device may resend the traffic advertisement during a subsequentpaging window. Without a frame collision, the subscriber device mayreceive the traffic advertisement and may acknowledge the trafficadvertisement. The provider device may send data in response toreceiving the acknowledgement. As a result, network resources may beconserved. For example, the data may be sent earlier and the providerdevice may perform other operations during the subsequent paging window.

Referring to FIG. 5, a particular aspect of a system 500 that includesthe neighbor aware network (NAN) 102 is shown. The system 500 differsfrom the system 100 of FIG. 1 in that the traffic advertisementgenerator 130 of the provider device 104 may send a trigger request 544to one or more of the multiple subscriber devices (e.g., the subscriberdevice 106-110). For example, the traffic advertisement generator 130may send the trigger request 544 via a first communication channel inresponse to determining that an ACK has been received from at least onesubscriber device (e.g., the first subscriber device 106) of themultiple subscriber devices. The first communication channel maycorrespond to a logical channel or to a basic channel of a data pathgroup. A first transmission window may be associated with the logicalchannel or the basic channel. The first transmission window may includea first paging window, a trigger slot, a first data transmission window,or a combination thereof, as described with reference to FIG. 1. Thetrigger request 544 may include a PS-POLL message, an ATIM, arequest-to-send (RTS) frame, a QoS_NULL frame, the QoS_NULL frameindicating a RDG, an action frame (e.g., a public action frame), oranother message. In some implementations, the trigger request 544 mayinclude a QoS_NULL frame indicating a RDG from the provider device 104.

The traffic advertisement generator 130 may send the trigger request 544in response to determining that an ACK has been received from a singlesubscriber device of the multiple subscriber devices, that ACKs havebeen received from fewer than all of the multiple subscriber devices, orthat an ACK has been received from each of the multiple subscriberdevices during the first paging window. For example, the trafficadvertisement generator 130 may send the trigger request 544 to each ofthe subscriber devices 106-110 in response to determining that the ACK138 has been received from the first subscriber device 106 during thefirst paging window and that the provider device 104 has data to send toeach of the subscriber devices 106-110. In some implementations, thetraffic advertisement generator 130 may send the trigger request 544independently of receiving the ACK 138.

The trigger request 544 may include a unicast message or a multicastmessage. In some implementations, the provider device 104 may send adistinct trigger request to each of the multiple subscriber devices. Forexample, the provider device 104 may send a first trigger request (e.g.,the trigger request 544) to the first subscriber device 106. Adestination field of the first trigger request may indicate anidentifier (e.g., an address) of the first subscriber device 106. Theprovider device 104 may send a second trigger request (e.g., the triggerrequest 544) to the second subscriber device 108 with a destinationfield indicating an identifier (e.g., an address) of the secondsubscriber device 108, and so on. In alternate implementations, theprovider device 104 may send a multicast trigger request (e.g., thetrigger request 544) to the subscriber devices 106-110.

In a particular aspect, the traffic advertisement generator 130 mayrefrain from sending a trigger request to an acknowledging subscriberdevice. For example, the traffic advertisement generator 130 may refrainfrom sending the trigger request 544 to the first subscriber device 106in response to determining that the ACK 138 has been received from thefirst subscriber device 106 during the first paging window.

In a particular aspect, the traffic advertisement generator 130 may sendthe trigger request 544 to the subscriber device 106-110 in responsedetermining that no data triggers (e.g., the trigger message 150) havebeen received from the subscriber device 106-110 during a beginningportion of a trigger slot or during an initial portion of the first datatransmission window, that the subscriber device 106-110 is a datarecipient, and that at least one ACK has been received from at least onesubscriber device (e.g., the first subscriber device 106) during thefirst paging window. In a particular aspect, the traffic advertisementgenerator 130 may send the trigger request 544 to a subscriber device(e.g., the first subscriber device 106, the second subscriber device108, or the third subscriber device 110) in response to determining thatno data triggers have been received from the subscriber device during abeginning portion of the trigger slot or during an initial portion ofthe first data transmission window and that no ACK responsive to thetraffic advertisement 128 has been received from the subscriber deviceduring the first paging window. In a particular aspect, the triggerrequest 544, the trigger message 150, or both, may be exchanged duringthe trigger slot, during a beginning portion of the first datatransmission window, during the first data transmission window, or acombination thereof.

As another example, the traffic advertisement generator 130 maydetermine that the trigger slot has ended and that the first datatransmission window has started in response to determining that expectedtrigger requests (e.g., the trigger request 544) have been sent duringthe trigger slot, that a first trigger request has been sent at a firsttrigger time, and that a particular duration has passed subsequent tothe first trigger time. The expected trigger requests may correspond totrigger requests to each of the data recipients (e.g., the subscriberdevices 106-110). In a particular aspect, the expected trigger requestsmay exclude a trigger request to the acknowledging subscriber device(e.g., the first subscriber device 106). The first trigger request maycorrespond to a most recently sent trigger request of the expectedtrigger requests.

The beginning portion (e.g., an acknowledgement window) of the datatransmission window during which a trigger request (e.g., the triggerrequest 544), a data trigger (e.g., the trigger message 150), or both,may be exchanged may have a particular duration. The particular durationmay be a default value or may be based on user input. In a particularaspect, the particular duration may be dynamically determined. Forexample, the traffic advertisement generator 130 may determine that thebeginning portion of the first data transmission window has ended inresponse to determining that expected trigger requests have been sentduring the beginning portion of the first data transmission window andthat no data trigger responsive to the first trigger request has beenreceived within a particular duration of sending the first triggerrequest. The first trigger request may correspond to a most recentlysent trigger request of the expected trigger requests.

The subscriber device 106-110 may receive the trigger request 544 viathe first communication channel. For example, the traffic advertisementanalyzer 134 may receive the trigger request 544 via the firstcommunication channel. The first subscriber device 106, the secondsubscriber device 108, or both, may send the trigger message 150 via thefirst communication channel in response to receiving the trigger request544. For example, the traffic advertisement analyzer 134 may send thetrigger message 150 in response to receiving the trigger request 544.The third subscriber device 110 may refrain from sending a data trigger(e.g., the trigger message 150) responsive to the trigger request 544based on determining that the third subscriber device 110 is unavailableduring a portion of the first transmission window.

In a particular aspect, the traffic advertisement generator 130 maymonitor the first communication channel during a particular durationsubsequent to sending the trigger request 544 to a particular subscriberdevice. The traffic advertisement generator 130 may send a subsequenttrigger request 544 via the first communication channel to anothersubscriber device in response to receiving the trigger message 150 viathe first communication channel from the particular subscriber device orin response to determining that the particular duration has expired. Forexample, the traffic advertisement generator 130 may send the triggerrequest 544 via the first communication channel to the first subscriberdevice 106. The traffic advertisement generator 130 may monitor thefirst communication channel subsequent to sending the trigger request544 to the first subscriber device 106. The traffic advertisementgenerator 130 may receive the trigger message 150 via the firstcommunication channel from the first subscriber device 106.

The traffic advertisement generator 130 may send the trigger request 544via the first communication channel to the third subscriber device 110in response to receiving the trigger message 150 from the firstsubscriber device 106. The traffic advertisement generator 130 maydetermine that the trigger message 150 has not been received from thethird subscriber device 110 within the particular duration of sendingthe trigger request 544 to the third subscriber device 110. The trafficadvertisement generator 130 may, in response to the determination, sendthe trigger request 544 via the first communication channel to thesecond subscriber device 108. The traffic advertisement generator 130may receive the trigger message 150 from the second subscriber device108. In a particular aspect, the first subscriber device 106 and thesecond subscriber device 108 may not have to contend for mediumreservation to transmit the respective trigger messages 150 because thefirst subscriber device 106 may have transmitted the trigger message 150to the provider device 104 prior to the second subscriber device 108receiving the trigger request 544 from the provider device 104.

In a particular aspect, a traffic advertisement analyzer (e.g., thetraffic advertisement analyzer 134) of a particular subscriber device(e.g., the subscriber device 106-110) may transition to the inactivemode during a remaining portion of the first transmission window inresponse to determining that no trigger requests (e.g., the triggerrequest 544) have been received from a provider device (e.g., theprovider device 104) during the trigger slot or during the beginningportion of the first data transmission window.

In a particular aspect, the traffic advertisement analyzer (e.g., thetraffic advertisement analyzer 134) of the particular subscriber device(e.g., the subscriber device 106-108) may remain in the active modeduring a remaining portion of the first transmission window in responseto determining that the trigger request 544 has been received from theprovider device 104.

The traffic advertisement generator 130 may send a first capabilitiesmessage to the subscriber device 106-108 prior to sending the data 122to the subscriber device 106-108, as described with reference to FIG. 1.In a particular aspect, the first capabilities message may correspond tothe trigger request 544.

In a particular aspect, a first power-save poll (PS-POLL) message mayoperate as the trigger request 544. For example, the trafficadvertisement generator 130 may generate the first PS-POLL message in asimilar manner to generation of a PS-POLL message in a traditionalaccess point (AP) based wireless network. However, the trafficadvertisement generator 130 may generate the first PS-POLL message as abroadcast message, as compared to a unicast PS-POLL message in thetraditional AP based wireless network. In a particular aspect, the firstPS-POLL message may operate as a trigger request for multiple devices.For example, multiple electronic devices may receive the first PS-POLLmessage and may send data triggers to the provider device 104 inresponse to receiving the first PS-POLL message.

In a particular aspect, the traffic advertisement generator 130 may seta portion (e.g., a third octet and a fourth octet) of the first PS-POLLmessage to a particular value (e.g., “0”s). The traffic advertisementgenerator 130 may transmit the first PS-POLL message via the firstcommunication channel during the trigger slot, during a beginningportion of the first data transmission window, or during the first datatransmission window.

The traffic advertisement analyzer 134 may receive the first PS-POLLmessage during the trigger slot, during the beginning portion of thefirst data transmission window, or during the first data transmissionwindow. In response to receiving the first PS-POLL message, the trafficadvertisement analyzer 134 may transmit the trigger message 150 to theprovider device 104 via the first communication channel during the firstdata transmission window (or during the trigger slot, during thebeginning portion of the first data transmission window, or during thefirst data transmission window).

In a particular aspect, a quality of service null (QoS_NULL) frame mayoperate as the trigger request 544. For example, the trafficadvertisement generator 130 may generate the QoS_NULL frame. TheQoS_NULL frame may indicate a reverse direction grant (RDG) from thefirst subscriber device 106. For example, the traffic advertisementgenerator 130 may generate a QoS_NULL frame that indicates a RDG and maytransmit the QoS_NULL frame to the first subscriber device 106 via thefirst communication channel during the trigger slot, during thebeginning portion of the first data transmission window, or during thefirst data transmission window. The QoS_NULL frame with the RDG mayauthorize the first subscriber device 106 to send a frame of the triggermessage 150 to the provider device 104 during a tx_op of the providerdevice 104.

The traffic advertisement analyzer 134 may, in response to receiving theQoS_NULL frame, transmit a frame of the trigger message 150 to theprovider device 104 via the first communication channel during the tx_opof the provider device 104. In this manner, the first subscriber device106 may not have to contend for the first communication channel totransmit the frame of the trigger message 150.

In a particular aspect, a NULL frame may correspond to the triggerrequest 544. For example, the NULL frame may include a preamble (e.g., aheader) without a payload (e.g., data) portion. In a particular aspect,the NULL frame may be a QoS_NULL frame, which may have a higher prioritythan other null frames. The traffic advertisement generator 130 maytransmit the NULL frame to the first subscriber device 106 via the firstcommunication channel during the trigger slot, during a beginningportion (e.g. an acknowledgement window) of the first data transmissionwindow, or during the first data transmission window, to provoke thetrigger message 150. In a particular aspect, the traffic advertisementgenerator 130 may send the trigger request 544 during an ending portionof the trigger slot, an ending portion of the acknowledgement window, oran ending portion of the first data transmission window, in response todetermining that the trigger message 150 has not been received during abeginning portion of the trigger slot, a beginning portion of theacknowledgement window, or the acknowledgement window.

The traffic advertisement analyzer 134 may, in response to receiving thetrigger request 544 from the provider device 104, contend for the firstcommunication channel and, upon successful contention, may transmit thetrigger message 150 to the provider device 104 via the firstcommunication channel. In response to receiving the trigger message 150,the traffic advertisement generator 130 may contend for the firstcommunication channel and, upon successful contention, transmit the data122 to the first subscriber device 106 via the first communicationchannel during the first data transmission window. In a particularaspect, an action frame (e.g., a public action frame) may be used as thetrigger request 544.

The system 500 may thus enable a provider device to conserve networkresources. For example, the provider device may send a trigger requestto prompt a trigger message from a subscriber device. If the triggermessage is not received within a particular duration of sending thetrigger request, the provider device may determine that the subscriberdevice is unavailable or unreachable. The provider device may transitionto an inactive mode in response to determining that the trigger messageis not received and may thus conserve network resources.

Referring to FIG. 6, a diagram is shown and generally designated 600. Ina particular aspect, the diagram 600 may correspond to operation of aparticular aspect of the system 500 of FIG. 5. The timing and operationsshown in FIG. 6 are for illustration and are not limiting. In otheraspects, additional or fewer operations may be performed and the timingmay be different.

The diagram 600 may differ from the diagram 200 of FIG. 2 in that theprovider device 104 (e.g., the traffic advertisement generator 130) maysend expected trigger requests (e.g., the trigger request 544) duringthe trigger slot 214, during the beginning portion of the datatransmission window 218, or during the data transmission window 218, asdescribed with reference to FIG. 5. For example, the trafficadvertisement generator 130 may send the trigger request 544 to each ofthe subscriber devices 106-110. As another example, the trafficadvertisement generator 130 may send the trigger request 544 to each ofthe subscriber devices 108-110, and may refrain from sending the triggerrequest 544 to the first subscriber device 106 in response todetermining that the ACK 138 has been received from the first subscriberdevice 106 during the paging window 212, as described with reference toFIG. 5.

In a particular aspect, the traffic advertisement generator 130 maymonitor the first communication channel for a particular durationsubsequent to sending the trigger request 544 to a particular subscriberdevice. The traffic advertisement generator 130 may send a subsequenttrigger request 544 to another subscriber device in response toreceiving the trigger message 150 from the particular subscriber deviceor in response to determining that the particular duration has expired.

The provider device 104 (e.g., the traffic advertisement generator 130)may send the trigger request 544 to the first subscriber device 106. Thefirst subscriber device 106 (e.g., the traffic advertisement analyzer134) send the trigger message 150 to the provider device 104 in responseto receiving the trigger request 544, as described with reference toFIG. 4. The provider device 104 (e.g., the traffic advertisementgenerator 130) may send the trigger request 544 to the second subscriberdevice 108, e.g., in response to receiving the trigger message 150 fromthe first subscriber device 106. The second subscriber device 108 maysend the trigger message 150 to the provider device 104 in response toreceiving the trigger request 544. The provider device 104 (e.g., thetraffic advertisement generator 130) may send the trigger request 544 tothe third subscriber device 110, e.g., in response to receiving thetrigger message 150 from the second subscriber device 108. The thirdsubscriber device 110 may refrain from sending the trigger message 150in response to receiving the trigger request 544, as described withreference to FIG. 5.

In a particular aspect, the provider device 104 (e.g., the trafficadvertisement generator 130) may determine that the trigger slot 214 hasended in response to determining that each of the expected triggerrequests has been sent during the trigger slot 214 and that a datatrigger has not been received within a particular duration of a mostrecently sent trigger request, as described with reference to FIG. 5.For example, the traffic advertisement generator 130 may determine, atthe third time 208, that the trigger slot 214 has ended in response todetermining that a data trigger (e.g., the trigger message 150) has notbeen received from the third subscriber device 110 within the particularduration of sending the trigger request 544 to the third subscriberdevice 110.

The provider device may send a trigger request to prompt a triggermessage from a subscriber device. If the trigger message is not receivedwithin a particular duration of sending the trigger request, theprovider device may determine that the subscriber device is unavailableor unreachable. The provider device may transition to an inactive modein response to determining that the trigger message is not received andmay thus conserve network resources.

Referring to FIG. 7, a timing diagram is shown and generally designated700. In a particular aspect, the timing diagram 700 may correspond tooperation of a particular aspect of one or more of the systems describedherein. The timing and operations shown in FIG. 7 are for illustrationand are not limiting. In other aspects, additional or fewer operationsmay be performed and the timing may be different.

The timing diagram 700 includes an overall timeline 706 corresponding toa NAN communication channel 702. As illustrated in the timing diagram700, a discovery window 710 may correspond to the NAN communicationchannel 702. The discovery window 710 may be a time period (e.g., adiscovery period) reserved for the device 104-114 to perform discoveryoperations and synchronization operations corresponding to the NAN 102.

The discovery window 710 may occur periodically. The discovery window710 may begin at time t1 and may end at time t2. A subsequent discoverywindow 710 may begin at time t5 and end at time t6. The discovery window710 may have a particular discovery window duration (e.g., a period oftime between time t1 and time t2 may be the same as a period of timebetween time t5 and time t6). The discovery window duration may bedetermined in accordance with a NAN standard or protocol. A time period(e.g., a period of time between time t2 and time t5) between consecutivediscovery windows (e.g., the discovery window 710) may be referred to asa discovery interval 748. In a particular aspect, a duration of thediscovery interval 748 may be 500 time units (TU) (e.g., approximately512 ms), in accordance with a NAN standard or protocol. For example,each TU may correspond to 1024 microseconds (μs), as described in anIEEE 802.11-3212 specification.

During the discovery window 710, a service advertisement may betransmitted via the NAN communication channel 702. For example, theprovider device 104 may transmit the service advertisement via the NANcommunication channel 702 to advertise a service being provided by theprovider device 104. The service advertisement may indicate theavailable logical channels and a provider MAC address, as described withreference to FIG. 1. The available logical channels may correspond to anNDL schedule. The NDL schedule may include one or more NDL time blocks(e.g., one or more transmission windows) that are periodically repeatedin every discovery interval (e.g., the discovery interval 748). Thesubscriber device 106-112 may transmit a subscribe message via the NANcommunication channel 702 in response to receiving the serviceadvertisement, as described with reference to FIG. 1.

A basic channel 760 may correspond to a transmission window 740 of theNAN communication channel 702 that begins after an end of the discoverywindow 710 of the NAN communication channel 702. For example, thetransmission window 740 may begin at t2 and may end at t4. A subsequenttransmission window 740 may begin at t6 and may end at t8. Atransmission offset 746 may correspond to a difference between an end ofa data transmission window and a beginning of a next discovery window.For example, the transmission offset 746 may correspond to a differencebetween t5 and t4.

Each transmission window may include a paging window and a datatransmission window. For example, the transmission window 740 mayinclude the paging window 212 and the data transmission window 218. In aparticular aspect, the transmission window 740 may include the pagingwindow 212, the trigger slot 214 of FIG. 2, and an ending portion of thedata transmission window 218 of FIG. 2.

The paging window 212 may begin at t2 and may end at t3. The datatransmission window 218 may begin at t3 and may end at t4. Thesubsequent paging window 212 may begin at t6 and may end at t7. Thesubsequent data transmission window 218 may begin at t7 and may end att8. A duration of a paging window, a duration of a data transmissionwindow, a duration of a transmission window (e.g., 128 time units (TUs),356 TUs, or 512 TUs), or a combination thereof, may be determined inaccordance with a NAN standard or protocol.

During the paging window 212 of the basic channel 760, the trafficadvertisement generator 130 of FIG. 1 may send the traffic advertisement128 via the NAN communication channel 702, as described with referenceto FIG. 1.

The traffic advertisement analyzer 134 of FIG. 1 may monitor the NANcommunication channel 702 during the paging window 212. The trafficadvertisement analyzer 134 may receive the traffic advertisement 128 viathe NAN communication channel 702. The traffic advertisement analyzer134 may send the ACK 138 of FIG. 1 via the NAN communication channel 702to the provider device 104 during the paging window 212 in response toreceiving the traffic advertisement 128, as described with reference toFIG. 1. The traffic advertisement analyzer 134 may monitor the NANcommunication channel 702 during the data transmission window 218 inresponse to determining that the traffic advertisement 128 has beenreceived during the corresponding paging window 212.

The traffic advertisement generator 130 may monitor the NANcommunication channel 702 during the paging window 212. The trafficadvertisement generator 130 may receive the ACK 138 via the NANcommunication channel 702. The traffic advertisement generator 130 maymonitor the NAN communication channel 702 during the data transmissionwindow 218 in response to determining that the ACK 138 has been receivedduring the corresponding paging window 212.

The traffic advertisement generator 130 may send the expected triggerrequests via the NAN communication channel 702 during the datatransmission window 218, as described with reference to FIGS. 5-6. Forexample, the traffic advertisement generator 130 may send the triggerrequest 544 via the NAN communication channel 702 to each of multiplerecipients (e.g., the subscriber devices 106-110) of data to be sent bythe provider device 104. In a particular aspect, the trafficadvertisement generator 130 may refrain from sending the trigger request544 to the first subscriber device 106 during the data transmissionwindow 218 in response to determining that the ACK 138 has been receivedfrom the first subscriber device 106 during the corresponding pagingwindow 212.

A particular subscriber device (e.g., the subscriber device 106-108) maysend the trigger message 150 via the NAN communication channel 702 tothe provider device 104 during the data transmission window 218, e.g.,in response to receiving the trigger request 544, as described withreference to FIGS. 5-6. For example, the traffic advertisement analyzer134 may send the trigger message 150 via the NAN communication channel702 to the provider device 104 in response to receiving the triggerrequest 544 and determining that the first subscriber device 106 isavailable during a remaining portion of the data transmission window218.

The traffic advertisement generator 130 may send the data 122 via theNAN communication channel 702 to the particular subscriber device (e.g.,the subscriber device 106-108) during the data transmission window 218in response to receiving the trigger message 150, as described withreference to FIGS. 1-2. In a particular aspect, the trafficadvertisement generator 130 may send the data 122 via the NANcommunication channel 702 to the first subscriber device 106 during thedata transmission window 218 in response to determining that the ACK 138has been received from the first subscriber device 106 during the pagingwindow 212, e.g., regardless of whether the trigger message 150 hasreceived from the first subscriber device 106. The traffic advertisementanalyzer 134 may receive the data 122 via the NAN communication channel702 during the data transmission window 218, as described with referenceto FIGS. 1-2.

In a particular aspect, the traffic advertisement generator 130 maytransition to an inactive mode during the paging window 212 in responseto determining that the provider device 104 has no data to send tosubscriber devices in the corresponding data transmission window 218.

In a particular aspect, the traffic advertisement analyzer 134 maytransition to an inactive mode during the data transmission window 218in response to determining that no traffic advertisement has beenreceived from a provider device (e.g., the provider device 104) duringthe paging window 212. In a particular aspect, the traffic advertisementgenerator 130 may transition to an inactive mode during the datatransmission window 218 in response to determining that no ACKresponsive to the traffic advertisement 128 has been received during thepaging window 212.

In a particular aspect, the traffic advertisement analyzer 134 maytransition to an inactive mode during a remaining portion of the datatransmission window 218 in response to determining that no triggerrequest (e.g., the trigger request 544) has been received from theprovider device 104 during a beginning portion of the data transmissionwindow 218. In an alternate aspect, the traffic advertisement analyzer134 may continue to monitor the NAN communication channel 702 during theremaining portion of the data transmission window 218 in response todetermining that the ACK 138 has been sent to the provider device 104during the paging window 212 (e.g., regardless of whether the triggerrequest 544 is received during the beginning portion of the datatransmission window 218).

In a particular aspect, the traffic advertisement generator 130 maytransition to an inactive mode during the remaining portion of the datatransmission window 218 in response to determining that no data trigger(e.g., the trigger message 150) has been received from subscriberdevices 106-110 during the beginning portion of the data transmissionwindow 218. In a particular aspect, the device 104-112 may transition toan inactive mode while refraining from monitoring the NAN communicationchannel 702.

The device 104-112 may reduce power consumption by performing operationsbased on the timing windows illustrated in the timing diagram 700. Forexample, the device 104-112 may transition to an inactive mode inresponse to determining that there is no data to be sent, that notraffic advertisement has received, that no ACK has been received, thatno trigger request has been received, that no data trigger has beenreceived, or a combination thereof.

Referring to FIG. 8, a timing diagram is shown and generally designated800. In a particular aspect, the timing diagram 800 may correspond tooperation of a particular aspect of the system 100 of FIG. 1. The timingand operations shown in FIG. 8 are for illustration and are notlimiting. In other aspects, additional or fewer operations may beperformed and the timing may be different.

The timing diagram 800 includes an overall timeline 806 corresponding tothe NAN communication channel 702 and a first communication channel 802.During the discovery window 710, the service advertisement may betransmitted via the NAN communication channel 702. The serviceadvertisement may indicate a supplemental channel 860. The supplementalchannel 860 may correspond to the first communication channel 802 and asupplemental channel offset 850. For example, the provider device 104may transmit the service advertisement via the NAN communication channel702 to advertise a service being provided by the provider device 104.The service advertisement may indicate the available logical channelsand the provider MAC address, as described with reference to FIG. 1. Theavailable logical channels may include the supplemental channel 860. Thesubscriber device 106-112 may transmit the subscribe message via the NANcommunication channel 702 in response to receiving the serviceadvertisement, as described with reference to FIG. 1.

The supplemental channel (SC) 860 may correspond to a transmissionwindow 840 of the first communication channel 802. For example, thesupplemental channel offset 850 may indicate that the transmissionwindow 840 begins a period of time corresponding to the supplementalchannel offset 850 after a beginning of a NAN discovery window. In aparticular aspect, the supplemental channel 860 may correspond to asingle offset (e.g., the supplemental channel offset 850) indicating asingle transmission window during each discovery interval. In analternate aspect, the supplemental channel (SC) 860 may correspond tomultiple offsets indicating multiple transmission windows during eachdiscovery interval.

The transmission window 840 may begin subsequent to an end of thediscovery window 710. For example, the transmission window 840 may beginat time t9 and may end at time t11. The time t9 may occur a period oftime after time t1, the period of time corresponding to the supplementalchannel offset 850. A subsequent transmission window 840 may beginsubsequent to an end of the subsequent discovery window 710. Forexample, the subsequent transmission window 840 may begin at time t12and may end at time t14. The time t12 may occur a period of time aftertime t5, the period of time corresponding to the supplemental channeloffset 850.

Each transmission window of the supplemental channel 860 may include apaging window and a data transmission window. For example, the pagingwindow 212 may correspond to a paging window of the supplemental channel860 and the data transmission window 218 may correspond to a datatransmission window of the supplemental channel 860. The transmissionwindow 840 may include the paging window 212 and the data transmissionwindow 218. In an alternate aspect, the trigger slot 214 may correspondto a trigger slot of the supplemental channel 860 and a second portion(e.g., an ending portion) of the data transmission window 218 maycorrespond to a data transmission window of the supplemental channel860.

The paging window 212 may begin at t9 and may end at t10. The datatransmission window 218 may begin at t10 and may end at t11. Thesubsequent paging window 212 may begin at t12 and may end at t13. Thesubsequent data transmission window 218 may begin at t13 and may end att14. A duration of a paging window, a duration of a data transmissionwindow, or both, may be determined in accordance with a NAN standard orprotocol.

The devices 104-112 may exchange the traffic advertisement 128, the ACK138, the trigger request 544, the trigger message 150, the data 122, ora combination thereof, via the NAN communication channel 702, the firstcommunication channel 802, or both. For example, the devices 104-112 mayexchange the traffic advertisement 128, the ACK 138, the trigger request544, the trigger message 150, the data 122, or a combination thereof,via the NAN communication channel 702, as described with reference toFIG. 7.

As another example, the traffic advertisement generator 130 may send thetraffic advertisement 128 via the first communication channel 802 duringthe paging window 212 of the supplemental channel 860, as described withreference to FIG. 1. The traffic advertisement generator 130 (or thetraffic advertisement analyzer 134) may monitor the first communicationchannel 802 during the paging window 212 of the supplemental channel860. For example, the traffic advertisement analyzer 134 may receive thetraffic advertisement 128 via the first communication channel 802 duringthe paging window 212, as described with reference to FIG. 1. Thetraffic advertisement analyzer 134 may send the ACK 138 via the firstcommunication channel 802 during the paging window 212 in response toreceiving the traffic advertisement 128, as described with reference toFIG. 1.

The traffic advertisement analyzer 134 may monitor the firstcommunication channel 802 during the data transmission window 218 of thesupplemental channel 860 in response to determining that the trafficadvertisement 128 has been received during the corresponding pagingwindow 212.

The traffic advertisement generator 130 may monitor the firstcommunication channel 802 during the data transmission window 218 inresponse to determining that at least one ACK (e.g., the ACK 138)responsive the traffic advertisement 128 has been received during thecorresponding paging window 212 of the first communication channel 802,as described with reference to FIG. 1.

The traffic advertisement generator 130 may send the trigger request 544via the first communication channel 802 during the data transmissionwindow 218 to each of multiple recipients (e.g., the subscriber devices106-110) of data to be sent by the provider device 104, as describedwith reference to FIG. 1. The traffic advertisement analyzer 134 maysend the trigger message 150 via the first communication channel 802during the data transmission window 218, e.g., in response to receivingthe trigger request 544, as described with reference to FIG. 5-6.

The traffic advertisement generator 130 may send the data 122 via thefirst communication channel 802 during the data transmission window 218to each subscriber device (e.g., the subscriber devices 106-108) fromwhich the traffic advertisement generator 130 received the triggermessage 150, as described with reference to FIG. 1. The trafficadvertisement analyzer 134 may receive the data 122 via the firstcommunication channel 802 during the data transmission window 218, asdescribed with reference to FIG. 1.

In a particular aspect, the traffic advertisement generator 130 maytransition to an inactive mode during the paging window 212 in responseto determining that the provider device 104 has no data to send tosubscriber devices in the corresponding data transmission window 218.

In a particular aspect, the traffic advertisement analyzer 134 maytransition to an inactive mode during the data transmission window 218in response to determining that no traffic advertisement has beenreceived from a provider device (e.g., the provider device 104) duringthe paging window 212. In a particular aspect, the traffic advertisementgenerator 130 may transition to an inactive mode during the datatransmission window 218 in response to determining that no ACKresponsive to the traffic advertisement 128 has been received during thepaging window 212.

In a particular aspect, the traffic advertisement analyzer 134 maytransition to an inactive mode during a remaining portion of the datatransmission window 218 in response to determining that no triggerrequest (e.g., the trigger request 544) has been received from theprovider device 104 during a beginning portion of the data transmissionwindow 218. In an alternate aspect, the traffic advertisement analyzer134 may continue to monitor the first communication channel 802 duringthe remaining portion of the data transmission window 218 in response todetermining that the ACK 138 has been sent to the provider device 104during the paging window 212 (e.g., regardless of whether the triggerrequest 544 is received during the beginning portion of the datatransmission window 218).

In a particular aspect, the traffic advertisement generator 130 maytransition to an inactive mode during the remaining portion of the datatransmission window 218 in response to determining that no data trigger(e.g., the trigger message 150) has been received from subscriberdevices 106-110 during the beginning portion of the data transmissionwindow 218. In a particular aspect, the devices 104-112 may transitionto an inactive mode while refraining from monitoring the firstcommunication channel 802.

The devices 104-112 may reduce power consumption by performingoperations based on the timing windows illustrated in the timing diagram800. For example, the devices 104-112 may transition to an inactive modein response to determining that there is no data to be sent, that notraffic advertisement has received, that no ACK has been received, thatno trigger request has been received, that no data trigger has beenreceived, or a combination thereof.

Referring to FIG. 9, a timing diagram is shown and generally designated900. In a particular aspect, the timing diagram 900 may correspond tooperation of a particular aspect of the system 100 of FIG. 1. The timingand operations shown in FIG. 9 are for illustration and are notlimiting. In other aspects, additional or fewer operations may beperformed and the timing may be different.

The timing diagram 900 illustrates relative timing of paging windows andtransmission windows of the NAN communication channel 702, the firstcommunication channel 802, a second communication channel 902, a thirdcommunication channel 932, and a fourth communication channel 934.

The traffic advertisement generator 130 may determine that the providerdevice 104 is available to provide a particular service via theavailable logical channels, as described with reference to FIG. 1. Theavailable logical channels may include one or more of the supplementalchannel 860, a supplemental channel 960, a supplemental channel 962, asupplemental channel 964, and a supplemental channel 966. In aparticular aspect, the available logical channels may include more thanfive supplemental channels.

The supplemental channel 960 may correspond to a first supplementalchannel offset (e.g., time t1 to time t15, time t5 to time t19), asecond supplemental channel offset (e.g., time t1 to time t17, time t5to time t21), and the second communication channel 902. The supplementalchannel 960 may correspond to a transmission window corresponding toeach supplemental channel offset during a particular discovery interval.For example, the supplemental channel 960 may, during a first discoveryinterval that begins at t2, correspond to a first transmission windowbeginning at the time t15 and ending at the time t16 and to a secondtransmission window beginning at the time t17 and ending at the timet18. As another example, the supplemental channel 960 may, during asecond discovery interval that begins at t6, correspond to a firsttransmission window beginning at the time t19 and ending at the time t20and to a second transmission window beginning at the time t21 and endingat the time t12.

The supplemental channel 962 may correspond to a supplemental channeloffset (e.g., time t1 to time t23, time t5 to time t25), and the thirdcommunication channel 932. The supplemental channel 962 may correspondto a transmission window corresponding to the supplemental channeloffset during a particular discovery interval. For example, thesupplemental channel 962 may, during a first discovery interval thatbegins at t2, correspond to a transmission window beginning at the timet23 and ending at the time t24. As another example, the supplementalchannel 962 may, during a second discovery interval that begins at t6,correspond to a transmission window beginning at the time t25 and endingat the time t26.

The supplemental channel 964 may correspond to a supplemental channeloffset (e.g., time t1 to time t27, time t5 to time t31), and the fourthcommunication channel 934. The supplemental channel 964 may correspondto a transmission window corresponding to the supplemental channeloffset during a particular discovery interval. For example, thesupplemental channel 964 may, during a first discovery interval thatbegins at t2, correspond to a transmission window beginning at the timet27 and ending at the time t28. As another example, the supplementalchannel 964 may, during a second discovery interval that begins at t6,correspond to a transmission window beginning at the time t31 and endingat the time t32.

The supplemental channel 966 may correspond to a supplemental channeloffset (e.g., time t1 to time t29, time t5 to time t33), and the fourthcommunication channel 934. The supplemental channel 966 may correspondto a transmission window corresponding to the supplemental channeloffset during a particular discovery interval. For example, thesupplemental channel 966 may, during a first discovery interval thatbegins at t2, correspond to a transmission window beginning at the timet29 and ending at the time t30. As another example, the supplementalchannel 966 may, during a second discovery interval that begins at t6,correspond to a transmission window beginning at the time t33 and endingat the time t34.

In a particular aspect, the traffic advertisement generator 130 maydetermine that the available logical channels include at least onesupplemental channel (e.g., the supplemental channel 860, 960, 962, 964,or 966), as described with reference to FIG. 1. During the discoverywindow 710, the service advertisement may be transmitted via the NANcommunication channel 702. For example, the provider device 104 (e.g.,the traffic advertisement generator 130) may transmit the serviceadvertisement via the NAN communication channel 702 to advertiseavailability of the particular service. The service advertisement mayindicate the available logical channels and the provider MAC address, asdescribed with reference to FIG. 1.

Each transmission window of the supplemental channels 860, 960, 962,964, and 966 may include a paging window and a data transmission window.A duration of a paging window, a duration of a data transmission window,or both, may be determined in accordance with a NAN standard orprotocol.

A paging window of the basic channel 760 (or a paging window of one ormore of the available logical channels) may correspond to the pagingwindow 212 of FIG. 2. A data transmission window of the basic channel760 (or a data transmission window of one or more of the availablelogical channels) may correspond to the data transmission window 218 (oran ending portion of the data transmission window 218) of FIG. 2. In aparticular aspect, a trigger slot of the basic channel 760 (or a triggerslot of one or more of the available logical channels) may correspond tothe trigger slot 214 of FIG. 2.

The devices 104-112 may exchange the traffic advertisement 128, the ACK138, the trigger request 544, the trigger message 150, the data 122, ora combination thereof, via the NAN communication channel 702, the firstcommunication channel 802, the second communication channel 902, thethird communication channel 932, the fourth communication channel 934,or a combination thereof.

Referring to FIG. 10A, a particular example of a device of the system ofFIG. 1 is shown and generally designated 1002. The device 1002 maycorrespond to one or more devices of the system 100 of FIG. 1. Forexample, the device 1002 may correspond to the device 104-114 of thesystem 100 of FIG. 1.

The device 1002 includes a control message generator 1030 (e.g., thetraffic advertisement generator 130, the traffic advertisement analyzer134, or both). The device 1002 includes the transceiver 136. The device1002 includes multiple transmission queues (e.g., a first transmissionqueue 1010 and a second transmission queue 1012).

Various types of data may be associated with various access categories.For example, video data may be associated with a particular accesscategory, and voice data may be associated with another access category.To illustrate, the data 122 may be associated with a first accesscategory 1020. The first access category 1020 may correspond to videodata, voice data, or background data.

A particular transmission queue may be associated with a particularaccess category. For example, the first transmission queue 1010 may beassociated with the first access category 1020, and the secondtransmission queue 1012 may be associated with a second access category1022.

During operation, the control message generator 1030 may generate acontrol message 1004 (the traffic advertisement 128, the trigger request544, the ACK 138, or the trigger message 150). For example, the providerdevice 104 may generate the traffic advertisement 128, the triggerrequest 544, or both, as described with reference to FIG. 1. The controlmessage 1004 (e.g., the traffic advertisement 128, the trigger request544, or both) may indicate availability of the data 122. As anotherexample, the first subscriber device 106 may receive the trafficadvertisement 128 and may generate the ACK 138, the trigger message 150,or both, based on the traffic advertisement 128, as described withreference to FIG. 1.

The data 122 may be associated with the first access category 1020. Forexample, the data 122 (or a packet including the data 122) may indicatethe first access category 1020. The control message 1004 may indicatethat the control message 1004 corresponds to the first access category1020, that the control message 1004 is associated with data (e.g., thedata 122) that corresponds to the first access category 1020, or both.The control message generator 1030 may select a particular transmissionqueue from the first transmission queue 1010 and the second transmissionqueue 1012 based on an access category associated with the data 122, anaccess category associated with the control message 1004, or both. Forexample, the control message generator 1030 may select the firsttransmission queue 1010 in response to determining that the firsttransmission queue 1010 is associated with the first access category1020 and that the first access category 1020 is associated with the data122, the control message 1004, or both. The control message generator1030 may add the control message 1004 to the selected transmission queue(e.g., the first transmission queue 1010).

In particular implementation, the control message 1004 may have aparticular access category that is the same as or distinct from thefirst access category 1020. The control message generator 1030 mayselect a transmission queue (e.g., the first transmission queue 1010,the second transmission queue 1012, or another transmission queue) basedon the particular access category (e.g., the first access category 1020,the second access category 1022, or another access category). Thecontrol message generator 1030 may add the control message 1004 to theselected transmission queue (e.g., the first transmission queue 1010,the second access category 1022, or another access category).

In a particular aspect, the control message generator 1030 may determinethat the traffic advertisement 128, the trigger request 544, or both,correspond to the same access category (e.g., the first access category1020) as the data 122. The control message generator 1030 may determinethat the trigger message 150, the ACK 138, or both, correspond to thesame access category (e.g., the first access category 1020) as thetraffic advertisement 128. The control message generator 1030 may thusdetermine an access category of the trigger message 150, the ACK 138, orboth, based on an access category of the traffic advertisement 128independently of whether the traffic advertisement 128 explicitlyindicates that the traffic advertisement 128 is associated with data(e.g., the data 122) having a particular access category. In aparticular aspect, the control message generator 1030 may determine thatthe trigger message 150 corresponds to the same access category (e.g.,the first access category 1020) as the trigger request 544. The controlmessage generator 1030 may thus determine an access category of thetrigger message 150 based on an access category of the trigger request544 independently of whether the trigger request 544 explicitlyindicates that the trigger request 544 is associated with data (e.g.,the data 122) having a particular access category.

In a particular example, the first transmission queue 1010 may includethe data 122. For example, the traffic advertisement generator 130 may,in response to determining that the data 122 and the first transmissionqueue 1010 corresponds to the same access category (e.g., the firstaccess category 1020), add the data 122 to the first transmission queue1010 during the data transmission window 218. The second transmissionqueue 1012 may include a message (msg) 1008. The message 1008 (e.g., acontrol message or a data packet) and the second transmission queue 1012may be associated with the second access category 1022.

The first transmission queue 1010 and the second transmission queue 1012may be processed in an order based on corresponding access categories.For example, the first access category 1020 may correspond to lowerpriority data than the second access category 1022. In this example, thefirst transmission queue 1010 may be processed subsequent to the secondtransmission queue 1012. For example, the message 1008 may betransmitted by the transceiver 136 prior to transmission of the controlmessage 1004.

In a particular implementation, the control message generator 1030 maydetermine that transmission of the control message 1004 is to bedelayed. For example, the control message generator 1030 may determinethat transmission of the control message 1004 is to be delayed inresponse to determining that a transmission medium is busy. Toillustrate, the control message generator 1030 may determine that thetransmission medium is busy in response to receiving a particularindication from the transceiver 136. As another example, the controlmessage generator 1030 may determine that the transmission of thecontrol message 1004 is to be delayed in response to determining thatthe second transmission queue 1012 is to be processed prior to the firsttransmission queue 1010. To illustrate, the control message generator1030 may determine that the second transmission queue 1012 is to beprocessed prior to the first transmission queue 1010 based ondetermining that the second access category 1022 has a higher prioritythan the first access category 1020 and that the second transmissionqueue 1012 includes the message 1008.

The control message generator 1030 may, in response to determining thattransmission of the control message 1004 is to be delayed, determine afirst delay based on an access category (e.g., the first access category1020) associated with the selected transmission queue (e.g., the firsttransmission queue 1010). For example, a delay mapping may indicate acorresponding delay associated with each access category. For example,the first delay corresponding to the first access category 1020 may havea first value, and a second delay corresponding to the second accesscategory 1022 may have a second value. The first value may be greaterthan (or less than) the second value. The delay mapping may beaccessible by the control message generator 1030. The control messagegenerator 1030 may determine the first delay corresponding to the firstaccess category 1020 based on the delay mapping.

A plurality of access categories may be specified in a standard (e.g.,Institute of Electrical and Electronics Engineers (IEEE) 802.11estandard). The plurality of access categories may include the firstaccess category 1020. The standard (e.g., the IEEE 802.11e standard) mayspecify a medium access scheme of transmitting data corresponding to thefirst access category 1020. The plurality of access categories and themedium access scheme may be compliant with an IEEE 802.11especification. The control message generator 1030 may determine thefirst delay based on the medium access scheme.

The control message generator 1030 may send the control message 1004,via the transceiver 136, upon expiration of a delay period, as describedwith reference to FIG. 10B. The delay period may be based on the firstdelay, as described with reference to FIG. 10B.

In a particular aspect, the control message generator 1030 may determinethat a first paging window has expired prior to expiration of a firstdelay period and prior to sending the control message 1004. For example,the first delay period may begin at a first time (e.g., 1:00:00 PM) andmay be scheduled to end at a second time (e.g., 1:00:05 PM). The firstdelay period may correspond to the first delay (e.g., 5 seconds). Thepaging window may end at a paging window expiration time (e.g., 1:00:02PM) that is subsequent to the first time (e.g., 1:00:00 PM) and prior tothe second time (e.g., 1:00:05 PM). An unexpired portion of the firstdelay period may correspond to a time period (e.g., 3 seconds) betweenthe paging window expiration time (e.g., 1:00:02 PM) and the second time(e.g., 1:00:05 PM). The control message generator 1030 may send thecontrol message 1004 during a second paging window (e.g., the pagingwindow 212 of FIG. 2) upon expiration of a delay period. The pagingwindow 212 may be subsequent to the first paging window. The delayperiod may be based on the unexpired portion of the first delay period.For example, a length (e.g., 3 seconds) of the delay period maycorrespond to a length of the unexpired portion of the first delayperiod.

Referring to FIG. 10B, a timing diagram is shown and generallydesignated 1050. The timing diagram 1050 may correspond to operation ofa particular implementation or use case of the device 1002 of FIG. 10A.The timing and operations shown in FIG. 10B are for illustration and arenot limiting. In other implementations or use cases, additional or feweroperations may be performed and the timing may be different. The timingdiagram 1050 includes an overall timeline corresponding to acommunication channel (e.g., the communication channel 702, 802, 902,932, or 934).

During operation, the control message generator 1030 may determine, attime t1, that transmission of the control message 1004 is to be delayed,as described with reference to FIG. 10A. For example, the controlmessage generator 1030 may detect, at a time t1, that a transmissionmedium (e.g., the communication channel 702, 802, 902, 932, or 934) isbusy. As another example, the control message generator 1030 maydetermine that the first transmission queue 1010 is to be processedsubsequent to the second transmission queue 1012, as described withreference to FIG. 10A. In a particular example, the control messagegenerator 1030 may determine during a window 1014 that transmission ofthe control message 1004 is to be delayed. For example, the controlmessage generator 1030 may determine during (e.g., at a beginning of)the paging window 212 or the data transmission window 218 that thetransmission of the control message 1004 is to be delayed.

The control message generator 1030 may determine a first delay 1042based on the first access category 1020, as described with reference toFIG. 10A. The first delay 1042 (e.g., a CW value) may correspond to acontention window associated with the first access category 1020. Adelay period 1060 may begin at a time t2 in response to detecting that atransmission medium is idle. In a particular example, the delay period1060 may begin at the time t2 in response to determining that the firsttransmission queue 1010 is a next transmission queue to be processed andthat the transmission medium is idle. For example, the control messagegenerator 1030 may determine that the first transmission queue 1010 isthe next transmission queue to be processed in response to determiningthat the second transmission queue 1012 is empty or in response todetermining that a time interval of processing the second transmissionqueue 1012 has expired.

The delay period 1060 may be based on the first delay 1042. For example,the delay period 1060 may have a duration corresponding to a sum of anarbitration interframe spacing (AIFS) and the first delay 1042. Thedelay period 1060 may expire in response to determining that thetransmission medium remained idle from the time t2 to a time t4. A firsttime interval from the time t2 to a time t3 may correspond to the AIFS.A second time interval from the time t3 to the time t4 may correspond tothe first delay 1042. The control message generator 1030 may transmit,from the time t4 to a time t5, the control message 1004 upon expirationof the delay period 1060. For example, the first subscriber device 106may transmit, at the time t4, the ACK 138 or the trigger message 150 tothe provider device 104. As another example, the provider device 104 maytransmit, at the time t4, the traffic advertisement 128 or the triggerrequest 544. The window 1014 may end at a time t6.

In a particular implementation, the control message generator 1030 maydetermine the AIFS associated with the control message 1004 based on thefirst access category 1020. For example, a first AIFS may be associatedwith the first access category 1020 and the control message 1004, and asecond AIFS may be associated with the second access category 1022 andthe message 1008. The first AIFS may be shorter (or longer) than thesecond AIFS.

When multiple messages (e.g., data packets or control messages) contendfor a transmission medium, a control message associated with a higherpriority access category may be transmitted prior to messages (e.g.,control messages or data packets) associated with a lower priorityaccess category because the higher priority access category isassociated with a shorter delay. The control message generator 1030 maythus enable prioritized transmission of control messages based oncorresponding access categories.

Referring to FIG. 11, a particular aspect of a system is shown andgenerally designated 1100. The system 1100 may include the NAN 102.

The system 1100 differs from the system 100 of FIG. 1 in that asubscriber device (e.g., the first subscriber device 106, the secondsubscriber device 108, or both) may, subsequent to receiving the trafficadvertisement 128 from the provider device 104, send an unavailablemessage 1102 (e.g., a pause message) to the provider device 104. Theunavailable message 1102 may indicate a pause in an NDL schedule. Forexample, the unavailable message 1102 may indicate that a subscriberdevice (e.g., the first subscriber device 106, the second subscriberdevice 108, or both) is unavailable to receive data associated with anNDL group corresponding to the traffic advertisement 128. Theunavailable message 1102 may indicate that the subscriber device (e.g.,the first subscriber device 106, the second subscriber device 108, orboth) is unavailable during at least a portion of an NDL scheduleassociated with the NDL group. The provider device 104 may refrain fromsending data to the subscriber device (e.g., the first subscriber device106, the second subscriber device 108, or both) in response to receivingthe unavailable message 1102 from the subscriber device. For example,the provider device 104 may retain the data to send to the subscriberdevice (e.g., the first subscriber device 106, the second subscriberdevice 108, or both) in a subsequent transmission window. To illustrate,the provider device 104 may send a second traffic advertisement during asecond transmission window that indicates that the provider device 104has data to send to at least the subscriber device (e.g., the firstsubscriber device 106, the second subscriber device 108, or both). Datato be sent to the subscriber device (e.g., the first subscriber device106, the second subscriber device 108, or both) during the secondtransmission window may include the retained data. The unavailablemessage 1102 may include a QoS_NULL frame or another frame. For example,a particular bit (e.g., a power management bit) of a particular field(e.g., a frame control field) of a header (e.g., a MAC header) of aframe (e.g., the QoS_NULL frame or another frame) may be set to aparticular value (e.g., 1) to indicate that the frame corresponds to theunavailable message 1102. To illustrate, a particular value (e.g., 1) ofa power management bit of a frame control field of a MAC header of theunavailable message 1102 may indicate that the subscriber device (e.g.,the first subscriber device 106, the second subscriber device 108, orboth) is unavailable to receive data.

In a particular implementation, the provider device 104 may send thetraffic advertisement 128 via a first communication channel during afirst paging window of a first transmission window, as described withreference to FIG. 1. The traffic advertisement analyzer 134 of the firstsubscriber device 106 may send an available message (e.g., the ACK 138or the trigger message 150) in response to receiving the trafficadvertisement 128. For example, the traffic advertisement analyzer 134of the first subscriber device 106 may, in response to receiving thetraffic advertisement 128, send the ACK 138 via the first communicationchannel to the provider device 104 during the first paging window.Alternatively, or in addition, the traffic advertisement analyzer 134 ofthe first subscriber device 106 may send the trigger message 150 via asecond communication channel to the provider device 104 during a firstdata transmission window of the first transmission window.

The traffic advertisement analyzer 134 of the first subscriber device106 may send the trigger message 150 in response to determining that thefirst subscriber device 106 is available to communicate, via the secondcommunication channel, with the provider device 104. Subsequently, thetraffic advertisement analyzer 134 of the first subscriber device 106may determine that the first subscriber device 106 is unavailable toreceive data via the second communication channel from the providerdevice 104 during a remaining portion of the first data transmissionwindow. In a particular implementation the traffic advertisementanalyzer 134 of the first subscriber device 106 may receive the data 122via the second communication channel from the provider device 104 duringthe first data transmission window and may determine that the firstsubscriber device 106 is unavailable to receive additional data via thesecond communication channel from the provider device 104 during aremaining portion of the first data transmission window.

The first subscriber device 106 may be unavailable to receive data forvarious reasons. For example, the first subscriber device 106 may beunavailable to receive data because the first subscriber device 106 maybe transitioning to an inactive operating mode. As another example, thefirst subscriber device 106 may be unavailable to receive data becausethe first subscriber device 106 may be scheduled to monitor anothercommunication channel during the remaining portion of the first datatransmission window. As a further example, the first subscriber device106 may be unavailable to receive data because the first subscriberdevice 106 may be performing operations (e.g., a channel scan) relatedto another network (e.g., an Infra-based network).

The traffic advertisement analyzer 134 of the first subscriber device106 may generate the unavailable message 1102 in response to determiningthat the first subscriber device 106 is unavailable to receive data viathe second communication channel from the provider device 104 during theremaining portion of the first data transmission window. The firstsubscriber device 106 may send the unavailable message 1102 via thesecond communication channel to the provider device 104 during the firstdata transmission window. In a particular aspect, the first subscriberdevice 106 may transition to an inactive mode during a remaining portionof the first data transmission window subsequent to sending theunavailable message 1102. For example, the first subscriber device 106may transition to the inactive mode in response to determining that thetraffic advertisement analyzer 134 is not scheduled to monitor anycommunication channels during the remaining portion of the first datatransmission window.

The provider device 104 may refrain from sending data (e.g., the data122) via the second communication channel to the first subscriber device106 during a remaining portion of the first data transmission window inresponse to receiving the unavailable message 1102 from the firstsubscriber device 106. The provider device 104 may identify a set ofavailable subscriber devices in response to receiving the unavailablemessage 1102. The provider device 104 may transition to an inactive mode(e.g., refrain from monitoring the second communication channel,transition to a low-power operating mode, perform actions related toanother network, or a combination thereof) during a remaining portion ofthe first data transmission window in response to determining that thereis no data to send to the set of available subscriber devices during theremaining portion of the first data transmission window.

The system 1100 may thus enable a subscriber device to use anunavailable message to inform a provider device when the subscriberdevice becomes unavailable to receive data. The provider device mayconserve resources (e.g., network usage, power, or both) by refrainingfrom sending data to the subscriber device, transitioning to an inactivemode (e.g., transitioning to a low-power operating mode, refraining frommonitoring a communication channel, performing actions related toanother network), or both, in response to receiving the unavailablemessage from the subscriber device.

Referring to FIG. 12, a diagram is shown and generally designated 1200.In a particular aspect, the diagram 1200 may correspond to operation ofa particular aspect of the system 1100 of FIG. 11. The timing andoperations shown in FIG. 12 are for illustration and are not limiting.In other aspects, additional or fewer operations may be performed andthe timing may be different.

The diagram 1200 may differ from the diagram 200 of FIG. 2 in thatduring the data transmission window 218 (or an ending portion of thedata transmission window 218), one or more subscriber devices may sendthe unavailable message 1102 to the provider device 104, as describedwith reference to FIG. 11. For example, the first subscriber device 106(e.g., the traffic advertisement analyzer 134 of FIG. 1) may send theunavailable message 1102 subsequent to receiving the data 122 during thedata transmission window 218. The provider device 104 may, in responseto receiving the unavailable message 1102 from the first subscriberdevice 106, refrain from sending additional data to the first subscriberdevice 106 during the data transmission window 218. To illustrate, theprovider device 104 may retain the additional data in response toreceiving the unavailable message 1102. The provider device 104 may sendthe retained data to the first subscriber device 106 during a subsequenttransmission window. As another example, the second subscriber device108 may send the unavailable message 1102 to the provider device 104during the data transmission window 218 without having previouslyreceived any data from the provider device 104 during the datatransmission window 218. The provider device 104 may, in response toreceiving the unavailable message 1102 during the data transmissionwindow 218, refrain from sending data to the second subscriber device108 during the data transmission window 218. In a particularimplementation, the provider device 104 may, in response to receivingthe unavailable message 1102, retain the data to be sent to the secondsubscriber device 108. For example, the provider device 104 may storethe data in a memory. The provider device 104 may send the retained datato the second subscriber device 108 during a subsequent transmissionwindow.

The provider device 104 may conserve network resources by refrainingfrom sending data to a subscriber device during a data transmissionwindow in response to receiving an unavailable message from thesubscriber device. The provider device 104 may transition to an inactivemode (e.g., transition to a low-power operating mode or perform otheroperations during a remaining portion of the data transmission window).

Referring to FIG. 13, a particular aspect of a system is shown andgenerally designated 1300. The system 1300 may include the NAN 102.

The system 1300 differs from the system 100 of FIG. 1 in that asubscriber device (e.g., the first subscriber device 106, the secondsubscriber device 108, or both) may, subsequent to receiving the trafficadvertisement 128 from the provider device 104, send a limitedavailability message 1302 to the provider device 104. The providerdevice 104 may prioritize sending data to the subscriber device (e.g.,the first subscriber device 106, the second subscriber device 108, orboth) in response to receiving the limited availability message 1302from the subscriber device.

In a particular implementation, the provider device 104 may send thetraffic advertisement 128 via a first communication channel during afirst paging window of a first transmission window, as described withreference to FIG. 1. The traffic advertisement analyzer 134 of the firstsubscriber device 106 may, in response to receiving the trafficadvertisement 128, send the ACK 138 via the first communication channelto the provider device 104 during the first paging window.Alternatively, or in addition, the traffic advertisement analyzer 134 ofthe first subscriber device 106 may send the trigger message 150 via asecond communication channel to the provider device 104 during a firstdata transmission window of the first transmission window.

The traffic advertisement analyzer 134 may determine that the firstsubscriber device 106 is expected to be partially available during thefirst data transmission window. For example, the first subscriber device106 may be scheduled to transition to an inactive mode (e.g., monitoranother communication channel, to transition to a low-power operatingmode, or both) during at least a portion of the first data transmissionwindow. The traffic advertisement analyzer 134 may generate the limitedavailability message 1302 in response to determining that the firstsubscriber device 106 is expected to be partially available during thefirst data transmission window. In a particular implementation, thelimited availability message 1302 may correspond to (e.g., include) theACK 138, the trigger message 150, or both. For example, the ACK 138, thetrigger message 150, or both, sent by the first subscriber device 106may include information indicating that the first subscriber device 106is partially available during the first data transmission window. Thetraffic advertisement analyzer 134 may send the limited availabilitymessage 1302 via the first communication channel (or the secondcommunication channel) to the provider device 104 during the firstpaging window (or the first data transmission window).

In a particular implementation, the traffic advertisement analyzer 134may send the limited availability message 1302 prior to the first pagingwindow. For example, the traffic advertisement analyzer 134 may send thelimited availability message 1302 during NDL setup or NDL schedulenegotiation. The traffic advertisement generator 130 may receive thelimited availability message 1302 prior to the first paging window. Forexample, the traffic advertisement generator 130 may receive the limitedavailability message 1302 during NDL setup or NDL schedule negotiation.The provider device 104 may prioritize sending the data 122 to the firstsubscriber device 106 during each transmission window (e.g., thetransmission window 740 Of FIG. 7) in which the provider device 104receives the trigger message 150, the ACK 138, or both, from the firstsubscriber device 106.

The traffic advertisement generator 130 of the provider device 104 mayprioritize sending data to the first subscriber device 106 in responseto receiving the limited availability message 1302 from the firstsubscriber device 106. For example, the traffic advertisement generator130 may receive the limited availability message 1302 from the firstsubscriber device 106 and may receive an available message (e.g., theACK 138 or the trigger message 150) from the second subscriber device108. The traffic advertisement generator 130 may, responsive to thelimited availability message 1302, send first data (e.g., the data 122)to the first subscriber device 106. The traffic advertisement generator130 may, responsive to the available message (e.g., the ACK 138 or thetrigger message 150), send second data (e.g., the data 122) to thesecond subscriber device 108. The traffic advertisement generator 130may, based on determining that the limited availability message 1302 hasbeen received from the first subscriber device 106, send the first data(e.g., the data 122) to the first subscriber device 106 prior to sendingthe second data (e.g., the data 122) to the second subscriber device108.

The system 1300 may thus enable a subscriber device to use a partiallyavailable message to inform a provider device that the subscriber deviceis expected to be unavailable during at least a portion of a datatransmission window. The provider device may prioritize sending data tothe subscriber device in response to receiving the partially availablemessage from the subscriber device to increase a likelihood of thesubscriber device receiving the data.

Referring to FIG. 14, a diagram is shown and generally designated 1400.In a particular aspect, the diagram 1400 may correspond to operation ofa particular aspect of the system 1300 of FIG. 13. The timing andoperations shown in FIG. 14 are for illustration and are not limiting.In other aspects, additional or fewer operations may be performed andthe timing may be different.

The diagram 1400 may differ from the diagram 200 of FIG. 2 in thatduring the paging window 212, the data transmission window 218, or both,one or more subscriber devices may send the limited availability message1302 to the provider device 104, as described with reference to FIG. 13.For example, the first subscriber device 106 (e.g., the trafficadvertisement analyzer 134 of FIG. 1) may send the limited availabilitymessage 1302 subsequent to receiving the traffic advertisement 128. In aparticular implementation, the ACK 138, the trigger message 150, orboth, sent by the first subscriber device 106 may include the limitedavailability message 1302.

The provider device 104 may, in response to receiving the limitedavailability message 1302 from the first subscriber device 106,prioritize sending data (e.g., the data 122) to the first subscriberdevice 106 during the data transmission window 218. For example, theprovider device 104 (e.g., the traffic advertisement generator 130 ofFIG. 1) may determine at a first time during the data transmissionwindow 218 that the limited availability message 1302 has been receivedfrom the first subscriber device 106 and that a partially availablemessage has not been received from the second subscriber device 108subsequent to sending the traffic advertisement 128 during the pagingwindow 212 and prior to the first time. The provider device 104 (e.g.,the traffic advertisement generator 130 may, in response to thedetermination, send first data (e.g., the data 122) to the firstsubscriber device 106 prior to sending second data (e.g., the data 122)to the second subscriber device 108 during the data transmission window218.

The provider device 104 may prioritize sending data to the subscriberdevice during a data transmission window in response to receiving thepartially available message from the subscriber device. As a result, alikelihood of the subscriber device receiving the data during the datatransmission window may be increased.

Referring to FIG. 15, a particular aspect of a system is shown andgenerally designated 1500. The system 1500 may include one or moreelectronic devices.

The system 1500 differs from the system 100 of FIG. 1 in that theprovider device 104 may not receive the ACK 138 responsive to thetraffic advertisement 128. The traffic advertisement generator 130 maymonitor a communication channel for the trigger message 150 irrespectiveof whether the ACK 138 is received. The traffic advertisement generator130 may send the data 122 in response to receiving the trigger message150. In a particular implementation, the traffic advertisement generator130 may send the trigger request 544 to one or more subscriber devices(e.g., the subscriber devices 106, 108, and 110), as described withreference to FIG. 5, irrespective of whether the ACK 138 is received.

In a particular implementation, the provider device 104 may send thetraffic advertisement 128 via a first communication channel during afirst paging window of a first transmission window, as described withreference to FIG. 1. The traffic advertisement generator 130 may notreceive an ACK (e.g., the ACK 138) responsive to the trafficadvertisement 128 during the first paging window. For example, thetraffic advertisement 128 may not have been received by any subscriberdevices (e.g., due to packet loss or delay) during the first pagingwindow and the ACK 138 may not have been sent. As another example, theACK 138 may have been sent by at least one of the subscriber devices106-112 in response to receiving the traffic advertisement 128 and theACK 138 may not have reached the provider device 104 during the firstpaging window due to packet loss or delay.

The traffic advertisement generator 130 of the provider device 104 maymonitor a second communication channel during a first portion (e.g., atrigger slot) of a first data transmission window of the firsttransmission window irrespective of receiving the ACK 138 during thefirst paging window. The traffic advertisement generator 130 may sendthe data 122 to a subscriber device (e.g., the first subscriber device106 or the second subscriber device 108) during the first datatransmission window in response to determining that the trigger message150 has been received from the subscriber device during the firstportion of the data transmission window.

The system 1500 may thus enable a provide device to increase alikelihood of sending data to a subscriber device. For example, theprovider device monitor a communication channel for a trigger messagefrom a subscriber device during a first portion of a first datatransmission window irrespective of whether an ACK responsive to atraffic advertisement has been received by the provider device during afirst paging window. The provider device may send data to a subscriberdevice in response to determining that a trigger message has beenreceived from the subscriber device during the first portion of the datatransmission window.

Referring to FIG. 16, a diagram is shown and generally designated 1600.In a particular aspect, the diagram 1600 may correspond to operation ofa particular aspect of the system 1500 of FIG. 15. The timing andoperations shown in FIG. 16 are for illustration and are not limiting.In other aspects, additional or fewer operations may be performed andthe timing may be different.

The diagram 1600 may differ from the diagram 200 of FIG. 2 in that theprovider device 104 may not receive an ACK (e.g., the ACK 138)responsive to the traffic advertisement 128 during the paging window212, as described with reference to FIG. 15. The provider device 104 maymonitor a communication channel during a first portion (e.g., thetrigger slot 214) of the data transmission window 218 irrespective ofwhether an ACK (e.g., the ACK 138) responsive to the trafficadvertisement 128 is received during the paging window 212.

The provider device 104 may receive the trigger message 150 from asubscriber device (e.g., the first subscriber device 106, the secondsubscriber device 108, or both) during the trigger slot 214. Theprovider device 104 may send the data 122 to the subscriber device(e.g., the first subscriber device 106, the second subscriber device108, or both) during the data transmission window 218 (or an endingportion of the data transmission window 218) in response to receivingthe trigger message 150 from the subscriber device during the triggerslot 214.

In a particular implementation, the traffic advertisement 128 mayindicate that a particular subscriber device (e.g., the first subscriberdevice 106) is an acknowledging subscriber device that is to send an ACK(e.g., the ACK 138) responsive to the traffic advertisement 128. Anothersubscriber device (e.g., the second subscriber device 108) may receivethe traffic advertisement 128 and may not send an ACK in response todetermining that the traffic advertisement 128 indicates that the firstsubscriber device 106 is the acknowledging subscriber device. The firstsubscriber device 106 may not receive the traffic advertisement 128 andmay not send the ACK 138 to the provider device 104. The secondsubscriber device 108 (e.g., a non-acknowledging subscriber device) maysend the trigger message 150 during the trigger slot 214 irrespective ofdetecting an ACK (e.g., the ACK 138) from the first subscriber device106 to the provider device 104 during the paging window 212. Theprovider device 104 may monitor a communication channel during thetrigger slot 214 irrespective of receiving the ACK 138 during the pagingwindow 212 and may receive the trigger message 150, via thecommunication channel, from the second subscriber device 108 during thetrigger slot 214. The provider device 104 may send the data 122 to thesecond subscriber device 108 in response to receiving the triggermessage 150. The second subscriber device 108 may receive the data 122during the data transmission window 218 (or an ending portion of thedata transmission window 218). Monitoring the communication channelduring the trigger slot 214 may enable the provider device 104 toreceive trigger messages (e.g., the trigger message 150) fromnon-acknowledging subscriber devices that have received the trafficadvertisement 128 during the paging window 212.

The provider device 104 may thus the provide data 122 to a subscriberdevice that is not indicated as an acknowledging subscriber device inthe traffic advertisement 128 irrespective of whether the providerdevice 104 receives the ACK 138 from the acknowledging subscriber deviceduring the paging window 212.

Referring to FIG. 17, a particular aspect of a system is shown andgenerally designated 1700. The system 1700 may include one or moreelectronic devices.

The system 1700 differs from the system 1500 of FIG. 15 in that theprovider device 104 may not receive the ACK 138 responsive to thetraffic advertisement 128. The traffic advertisement generator 130 maymonitor a communication channel for the trigger message 150 irrespectiveof whether the ACK 138 is received. The traffic advertisement generator130 may refrain from sending data (e.g., the data 122) in response todetermining that no trigger messages (e.g., the trigger message 150)have been received.

In a particular implementation, the provider device 104 may send thetraffic advertisement 128 via a first communication channel during afirst paging window of a first transmission window, as described withreference to FIG. 1. The traffic advertisement generator 130 may notreceive an ACK (e.g., the ACK 138) responsive to the trafficadvertisement 128 during the first paging window. The trafficadvertisement generator 130 of the provider device 104 may monitor asecond communication channel during a first portion (e.g., a triggerslot) of a first data transmission window of the first transmissionwindow irrespective of receiving the ACK 138 during the first pagingwindow. The provider device 104 may transition to an inactive mode(e.g., transition to a low-power operating mode, monitor anothercommunication channel, or perform other operations) during a remainingportion of the first data transmission window in response to determiningthat no ACK responsive to the traffic advertisement 128 has beenreceived during the first paging window and that no trigger message hasbeen received during the first portion of the first data transmissionwindow.

The system 1700 may thus enable a provide device to reduce resourceusage. For example, the provider device may monitor a communicationchannel for a trigger message from a subscriber device during a firstportion of a first data transmission window irrespective of whether anACK responsive to a traffic advertisement has been received by theprovider device during a first paging window. The provider device mayconserve resources (e.g., power) during a remaining portion of the firstdata transmission window in response to determining that no ACK has beenreceived during the first paging window and that no trigger message hasbeen received during the first portion of the data transmission window.

Referring to FIG. 18, a diagram is shown and generally designated 1800.In a particular aspect, the diagram 1800 may correspond to operation ofa particular aspect of the system 1700 of FIG. 17. The timing andoperations shown in FIG. 18 are for illustration and are not limiting.In other aspects, additional or fewer operations may be performed andthe timing may be different.

The diagram 1800 may differ from the diagram 200 of FIG. 2 in that theprovider device 104 may not receive an ACK (e.g., the ACK 138)responsive to the traffic advertisement 128 during the paging window212, as described with reference to FIG. 17. The provider device 104 maymonitor a communication channel during a first portion (e.g., thetrigger slot 214) of the data transmission window 218 irrespective ofwhether an ACK (e.g., the ACK 138) responsive to the trafficadvertisement 128 is received during the paging window 212. The providerdevice 104 may transition to an inactive mode (e.g., transition to alow-power operating mode, refrain from monitoring the communicationchannel, refrain from sending the data 122 of FIG. 1, or perform otheroperations) during a remaining portion (e.g., an ending portion) of thedata transmission window 218 in response to determining that no triggermessage (e.g., the trigger message 150 of FIG. 1) has been receivedduring the trigger slot 214. The provider device 104 may conserveresources (e.g., network usage, power, or both) by refraining fromsending data (e.g., the data 122) during the data transmission window218 in response to determining that no ACK (e.g., the ACK 138)responsive to the traffic advertisement 128 has been received during thepaging window 212 and that no trigger message (e.g., the trigger message150 of FIG. 1) has been received during the trigger slot 214.

FIGS. 1-6 and 11-18 illustrate systems and methods where the providerdevice 104 may send the data 122 in response to the ACK 138, the triggermessage 150, or both. FIGS. 19-20 and 27-28 illustrate systems andmethods where the provider device 104 may send the data 122 withoutreceiving the ACK 138, the trigger message 150, or both. A transmissionwindow corresponding to one or more of the systems and methods of FIGS.19-20 and 27-28 may exclude a dedicated paging window. For example, theentire transmission window may be available to the provider device 104to transmit a traffic message, data, or a combination thereof, asdescribed herein. In an alternate aspect, the transmission window mayinclude a paging window. The traffic message may include a trafficadvertisement, a traffic page, or both. The traffic advertisement mayindicate availability of data to be sent by the provider device 104 toone or more data recipient devices. A traffic page may indicate that theprovider device 104 will not be sending data to one or morenon-recipient devices during a transmission window.

Referring to FIG. 19, a system is disclosed and generally designated1900. The system 1900 may include one or more electronic devices.

The system 1900 differs from the system 100 of FIG. 1 in that theprovider device 104 may send the data 122 to the first subscriber device106, the second subscriber device 108, or both, independently ofreceiving the ACK 138, the trigger message 150, or both.

The traffic advertisement generator 130 may send a traffic message 1930via a first communication channel during a first communication window.The communication window may include a discovery window, a transmissionwindow, a paging window, or a data transmission window. Alternatively,or in addition, the communication window may correspond to at least aportion of an NDL time block (e.g., an initial portion of the NDL timeblock). The traffic message 1930 may include the traffic advertisement128, a traffic page 1932, or both. The traffic advertisement 128 mayindicate availability of data to be sent by the provider device 104 toone or more data recipients (e.g., the subscriber devices 106, 108, and110), as described with reference to FIG. 1. The traffic page 1932 mayindicate that the provider device 104 will not send data to one or morenon-recipient devices (e.g., the fourth subscriber device 112).

The traffic page 1932 may include an address indicators list (e.g., aMAC address indicator list), a bloom filter, an ATIM, or a TIMrepresenting the non-recipient devices. For example, an addressindicator of the MAC address indicator list may include at least aportion of a MAC address of a corresponding non-recipient device, a hashvalue based on the MAC address, or another value based on the MACaddress. A destination field of the ATIM may include a group addressindicating the non-recipient devices. The TIM may include a bitmapindicating the non-recipient devices. For example, the provider device104 and a non-recipient device (e.g., the fourth subscriber device 112)may perform an association process. During the association process, thefourth subscriber device 112 may receive an AID from the provider device104. A particular bit of the bitmap may correspond to the AID. The TIMmay be compliant with an IEEE 802.11 specification.

A subscriber device (e.g., the subscriber device 106, 108, 110, or 112)may receive the traffic message 1930. For example, an interface of thesubscriber device (e.g., the subscriber device 106, 108, 110, or 112)may be configured to receive the traffic message 1930. In a particularaspect, the interface of the subscriber device (e.g., the subscriberdevice 106, 108, 110, or 112) may be configured to receive the trafficmessage 1930 prior to a first portion of the first communication window(e.g., the NDL time block).

A subscriber device (e.g., the subscriber device 106, 108, or 110) maymonitor the first communication channel during the first portion of thefirst communication window in response to determining that the datarecipients (e.g., recipient devices) include the subscriber device ordetermining that the non-recipient devices do not include the subscriberdevice. For example, a processor of the subscriber device (e.g., thesubscriber device 106, 108, or 110) may be configured to monitor thefirst communication channel during the first portion of the firstcommunication window in response to determining that the data recipients(e.g., recipient devices) include the interface of the subscriber deviceor determining that the non-recipient devices do not include theinterface of the subscriber device. The subscriber device (e.g., thesubscriber device 106, 108, or 110) may monitor the first communicationchannel during the first portion of the first communication windowindependently of whether the ACK 138 responsive to the trafficadvertisement 128 is detected from the data recipients. A subscriberdevice (e.g., the fourth subscriber device 112) may transition to aninactive mode during a remaining portion of the first communicationwindow in response to determining the data recipients exclude thesubscriber device or the non-recipient devices include the subscriberdevice. A subscriber device (e.g., the subscriber device 106, 108, 110,or 112) may, while operating in the inactive mode, refrain frommonitoring the first communication channel, transition to a low-powermode (e.g., a power save mode), perform operations (or actions) relatedto another network, or a combination thereof.

The traffic advertisement generator 130 may send the data 122 via thefirst communication channel to a subscriber device (e.g., the firstsubscriber device 106 or the second subscriber device 108) during thefirst communication window. For example, the traffic advertisementgenerator 130 may send the data 122 via the first communication channelto the first subscriber device 106 subsequent to sending the trafficmessage 1930. In an alternate aspect, the traffic advertisementgenerator 130 may send the data 122 without sending the traffic message1930 during the first communication window. The data 122 may be sent tothe first subscriber device 106 independently of receiving the ACK 138,the trigger message 150, or both from the first subscriber device 106.

The traffic advertisement generator 130 may send the data 122 via thefirst communication channel to the second subscriber device 108subsequent to sending the data 122 to the first subscriber device 106.The data 122 may be sent to the second subscriber device 108independently of receiving the ACK 138, the trigger message 150, orboth, from the second subscriber device 108.

The traffic advertisement generator 130 may send the data 122 inconjunction with a more traffic indicator indicating whether theprovider device 104 has additional data to send to the subscriber device(e.g., the first subscriber device 106 or the second subscriber device108). For example, the traffic advertisement generator 130 may send thedata 122 in conjunction with a first more traffic indicator to the firstsubscriber device 106. The first more traffic indicator may have a firstvalue (e.g., 1) indicating that the provider device 104 has additionaldata to send to the first subscriber device 106. The first subscriberdevice 106 (e.g., the traffic advertisement analyzer 134) may monitorthe first communication channel during a second portion of thetransmission window in response to determining that the first moretraffic indicator has the first value. The first more traffic indicatormay correspond to a MORE DATA bit of a header of a packet that includesthe data 122, an end of service period (EOSP) bit of a quality ofservice (QoS) field of the header, or both.

As another example, the traffic advertisement generator 130 may send thedata 122 in conjunction with a second more traffic indicator to thesecond subscriber device 108. The second more traffic indicator (e.g., aMORE DATA bit) may have a second value (e.g., 0) indicating that theprovider device 104 will not send additional data to the secondsubscriber device 108 during the first communication window. The secondsubscriber device 108 may transition to the inactive mode during aremaining portion of the first communication window (e.g., the NDL timeblock) in response to determining that the second more traffic indicatorhas the second value.

In a particular implementation, the traffic advertisement generator 130may send the data 122 to the first subscriber device 106 and the secondsubscriber device 108 as multicast traffic. The first subscriber device106, the second subscriber device 108, or both, may receive the data122. The traffic advertisement generator 130 may send the data 122 inconjunction with a more traffic indicator indicating whether the trafficadvertisement generator 130 has additional data to send to the firstsubscriber device 106 and the second subscriber device 108. The firstsubscriber device 106, the second subscriber device 108, or both, maymonitor the first communication channel during a second portion of thefirst communication window in response to determining that the moretraffic indicator has a first value (e.g., 1). Alternatively, the firstsubscriber device 106, the second subscriber device 108, or both, maytransition to the inactive mode in response to determining that the moretraffic indicator has a second value (e.g., 0).

A subscriber device (e.g., the subscriber device 106, 108, or 110) maydetect that the first communication channel is idle for a first duration(e.g., an idle time) during a portion of the first communication window.The subscriber device (e.g., the subscriber device 106, 108, or 110) maytransition to the inactive mode during a remaining portion of the firstcommunication window in response to determining that the idle timesatisfies a threshold.

In a particular implementation, the provider device 104 (e.g., thetraffic advertisement generator 130) may send a service advertisementduring a discovery window or another window (e.g., a NAN further serviceavailability window). The discovery window may be prior to the firstcommunication window (e.g., the NDL time block. The serviceadvertisement may indicate that the provider device 104 is available toprovide a particular service via one or more communication channels. Ina particular aspect, the service advertisement may indicate whether theprovider device 104 supports traffic messaging. Traffic messaging mayinclude traffic advertising by sending the traffic advertisement 128indicating that the provider device 104 has data to send to one or morerecipient devices. Traffic messaging may include traffic paging bysending the traffic page 1932 indicating one or more non-recipientdevices. The provider device 104 may not send data to the one or morenon-recipient devices during a transmission window. One or more of thesubscriber devices 106, 108, 110, and 112 may receive the serviceadvertisement during the discovery window or the other window (e.g., theNAN further service availability window). The data 122 may be associatedwith the particular service. The subscriber device 106, 108, 110, or 112may determine whether to join the particular service by sending asubscribe message based on determining whether the provider device 104supports traffic messaging. For example, the subscriber device 106, 108,110, or 112 may send a subscribe message to the provider device 104 inresponse to determining that the provider device 104 supports trafficmessaging.

The provider device 104 and a subscriber device (e.g., the subscriberdevice 106, 108, 110, or 112) may exchange one or more negotiationmessages subsequent to transmission of the service advertisement by theprovider device 104. For example, the provider device 104 may send afirst negotiation message 1928 to the first subscriber device 106. Asanother example, the first subscriber device 106 may send a secondnegotiation message 1938 to the provider device 104.

The first negotiation message 1928, the second negotiation message 1938,or both, may indicate that the provider device 104 is to send data(e.g., the data 122) to the first subscriber device 106 subsequent tosending a traffic message (e.g., the traffic message 1930). The firstnegotiation message 1928, the second negotiation message 1938, or both,may indicate a power save request. For example, the first negotiationmessage 1928 may include a first power save request identifying theprovider device 104 as a power-constraint device. As another example,the second negotiation message 1938 may include a second power saverequest identifying the first subscriber device 106 as power-constraintdevice.

The first negotiation message 1928, the second negotiation message 1938,or both, may indicate whether a transmission window (or a communicationwindow) is to include a paging window. The provider device 104, thefirst subscriber device 106, or both, may determine that thetransmission window (or the communication window) excludes the pagingwindow based on the first negotiation message 1928, the secondnegotiation message 1938, or both, indicating that the transmissionwindow is to exclude the paging window. The transmission window (or thecommunication window) may correspond to an NDL time block.

In a particular aspect, the provider device 104 may determine whetherthe traffic message 1930 is to be sent during the first communicationwindow based at least in part on determining that the first negotiationmessage 1928 includes the first power save request, the secondnegotiation message 1938 includes the second power save request, orboth. For example, the provider device 104 may determine that thetraffic message 1930 is to be sent during the first communication windowbased at least in part on determining that the first negotiation message1928 includes the first power save request, the second negotiationmessage 1938 includes the second power save request, or both. As anotherexample, the provider device 104 may determine that the traffic message1930 is not to be sent during the first communication window based atleast in part on determining that the first negotiation message 1928does not include the first power save request, that the secondnegotiation message 1938 does not include the second power save request,or both.

The first negotiation message 1928, the second negotiation message 1938,or both, may indicate a type of the traffic message 1930 (e.g., atraffic advertisement type or a traffic page type). For example, a valueof a particular field (e.g., a bit corresponding to a trafficadvertisement indicator) of a negotiation message may indicate the typeof the traffic message 1930. The provider device 104, the firstsubscriber device 106, or both, may determine that the provider device104 is expected to send a traffic advertisement (e.g., the trafficadvertisement 128) during the first communication window in response todetermining that the first negotiation message 1928, the secondnegotiation message 1938, or both, indicate the traffic advertisementtype. Alternatively, the provider device 104, the first subscriberdevice 106, or both, may determine that the provider device 104 isexpected to send a traffic page (e.g., the traffic page 1932) during thefirst communication window in response to determining that the firstnegotiation message 1928, the second negotiation message 1938, or both,indicate the traffic page type. In a particular implementation, when theprovider device 104 is expected to send the traffic advertisement 128 toindicate availability of data to be sent by the provider device 104, adefault behavior of the subscriber device 106, 108, 110, or 112 mayinclude transitioning to the inactive mode in response to determiningthat the traffic advertisement 128 is not received during a firstportion of the first communication window. In this implementation, theprovider device 104 may not send the traffic advertisement 128 inresponse to determining that no data is to be sent by the providerdevice 104 during the first communication window. The subscriber devices106, 108, 110, and 112 may transition to the inactive mode in responseto determining that the traffic advertisement 128 is not received duringthe first portion of the first communication window.

Alternatively, the provider device 104 may send the trafficadvertisement 128 during the first communication window when theprovider device 104 has data to send to one or more data recipients(e.g., the subscriber devices 106, 108, and 110). A subscriber device(e.g., the subscriber device 106, 108, or 110) may monitor the firstcommunication channel during the second portion of the firstcommunication window in response to determining that the data recipientsinclude the subscriber device. A particular subscriber device (e.g., thefourth subscriber device 112) may transition to the inactive mode inresponse to determining that the data recipients exclude the particularsubscriber device.

In an alternate implementation, in which the provider device 104 isexpected to send the traffic page 1932 to indicate that the providerdevice 104 will not be sending data during the first communicationwindow, a default behavior of the subscriber device 106, 108, 110, or112 may include continuing to monitor the first communication channelduring at least a second portion of the first communication window inresponse to determining that the traffic page 1932 is not receivedduring the first portion of the first communication window. In thisimplementation, the provider device 104 may not send the traffic page1932. For example, the provider device 104 may not send the traffic page1932 in response to determining that data is available to be sent by theprovider device 104 during the first communication window. Thesubscriber devices 106, 108, 110, and 112 may continue to monitor thefirst communication channel during a second portion of the firstcommunication window in response to determining that the traffic page1932 is not received during the first portion of the first communicationwindow.

Alternatively, the provider device 104 may send the traffic page 1932during the first communication window in response to determining that nodata is to be sent by the provider device 104 to one or morenon-recipient devices (e.g., the fourth subscriber device 112). Asubscriber device (e.g., the subscriber device 106, 108, or 110) maymonitor the first communication channel during the second portion of thefirst communication window in response to determining that thenon-recipient devices do not include the subscriber device. A particularsubscriber device (e.g., the fourth subscriber device 112) maytransition to the inactive mode in response to determining that thenon-recipient devices include the particular subscriber device. Theprovider device 104 may send the data 122 to the subscriber devices 106,108, and 110 via the first communication channel during the secondportion of the first communication window. In a particularimplementation, the provider device 104 may send the data 122 to asubscriber device (e.g., the first subscriber device 106 or the secondsubscriber device 108) independently of receiving an ACK (e.g., the ACK138), a trigger message (e.g., the trigger message 150), or both, fromthe subscriber device.

The first communication window may correspond to a transmission window.In a particular aspect, the transmission window may include a pagingwindow. In this aspect, the first portion of the first communicationwindow may correspond to the paging window. In another aspect, thetransmission window may exclude a dedicated paging window. In aparticular implementation, the transmission window may include thepaging window and the provider device 104 may initiate data transmissionduring the paging window subsequent to any traffic messaging. Forexample, the provider device 104 may send the data 122 during the pagingwindow subsequent to sending the traffic advertisement 128, the trafficpage 1932, or both. As another example, the provider device 104 may sendthe data 122 during the paging window in response to determining thatthe traffic advertisement 128, the traffic page 1932, or both, are notto be sent during the first communication window.

In a particular implementation, the provider device 104 may send thetraffic message 1930 with a higher priority than a priority associatedwith data (e.g., the data 122). For example, the provider device 104 maysend the traffic message 1930 with an access category (e.g., the secondaccess category 1022) having a higher priority than another accesscategory (e.g., the first access category 1020) associated with data(e.g., the data 122). To illustrate, the traffic message 1930 may bequeued for transmission based on the access category, as described withreference to FIGS. 10A-10B. As another example, the provider device 104may send the traffic message 1930 based on a first contention window(CW) value, a first arbitration interframe space (AIFS) value, or both.Data transmission may be associated with a second CW value, a secondAIFS value, or both. The first CW value, the first AIFS value, or both,may correspond to higher priority than the second CW value, the secondAIFS value, or both. For example, the first CW value and the first AIFSvalue may be lower (or shorter) than the second CW value and the secondAIFS value, respectively. Sending the traffic message 1930 with thehigher priority than the priority associated with data may enable theprovider device 104 to access a transmission medium prior to anotherdevice that has data to send via the transmission medium.

In a particular implementation, the provider device 104 may exchange afirst negotiation message with the first subscriber device 106 thatincludes a power save request and may exchange a second negotiationmessage with the second subscriber device 108 that does not include thepower save request. The provider device 104 may send the traffic message1930 during the transmission based at least in part on determining thata negotiation message exchanged with at least one subscriber deviceindicates the power save request. The first subscriber device 106 maymonitor the first communication channel during the first portion of thefirst communication window. The first subscriber device 106 maytransition to the inactive mode during a remaining portion of the firstcommunication window in response to determining that the trafficadvertisement 128 is not received during the first portion of the firstcommunication window, that the data recipients indicated by the trafficadvertisement 128 exclude the first subscriber device 106, or that thenon-recipient devices indicated by traffic page 1932 include the firstsubscriber device 106. The second subscriber device 108 may not processor may discard the traffic message 1930. For example, the secondsubscriber device 108 may monitor the first communication channel duringthe entire first communication window independently of receiving thetraffic message 1930. In an alternate implementation, the secondsubscriber device 108 may transition to the inactive mode during aremaining portion of the first communication window in response todetermining that the data recipients indicated by the trafficadvertisement 128 exclude the second subscriber device 108 or that thenon-recipient devices indicated by traffic page 1932 include the secondsubscriber device 108.

In a particular aspect, the provider device 104 may prioritize datatransmission to the first subscriber device 106 in response todetermining that at least one negotiation message exchanged with thefirst subscriber device 106 indicates the power save request. Forexample, the provider device 104 may send the traffic message 1930during an initial portion of the first communication window. The firstcommunication window may include a transmission window. In a particularaspect, the initial portion of the first communication window maycorrespond to a paging window (e.g., the paging window 212) of thetransmission window (e.g., the transmission window 740). In an alternateaspect, the transmission window may exclude the paging window. Forexample, the transmission window 740 may correspond entirely to the datatransmission window 218.

The first subscriber device 106 may send the ACK 138, the triggermessage 150, or both, during the first communication window in responseto receiving the traffic message 1930. The provider device 104 mayprioritize sending the data 122 to the first subscriber device 106during a second portion of the first communication window. For example,the provider device 104 may send the data 122 to the first subscriberdevice 106 prior to sending the data 122 to the second subscriber device108 during the first portion of the first communication window. In aparticular aspect, the provider device 104 may, in response todetermining that at least one negotiation message exchanged with thefirst subscriber device 106 indicates the power save request, send thedata 122 with a first priority to the first subscriber device 106.Alternatively, the provider device 104 may, in response to determiningthat no negotiation messages exchanged with the first subscriber device106 indicate the power save request, send the data 122 with a secondpriority to the first subscriber device 106. The second priority may belower (or higher) than the first priority. The first subscriber device106 may transition to the inactive mode subsequent to receiving the data122. In a particular aspect, the second portion of the firstcommunication window may correspond to a data transmission window.

In a particular implementation, the first communication window maycorrespond to a transmission window (e.g., the transmission window 740)that includes a paging window (e.g., the paging window 212). Theprovider device 104 may initiate data transmission during the pagingwindow 212 subsequent to traffic messaging. For example, the providerdevice 104 may, during the paging window 212, send the data 122 to thefirst subscriber device 106, the second subscriber device 108, or both,subsequent to sending the traffic message 1930.

In a particular implementation, a subscriber device may generate anotice of absence 1934 (e.g., a pause message) indicating that thesubscriber device is unavailable to participate in at least one NDLgroup. The notice of absence 1934 may indicate a pause in an NDLschedule. For example, the notice of absence 1934 may indicate that asubscriber device (e.g., the first subscriber device 106, the secondsubscriber device 108, or both) is unavailable to receive dataassociated with the at least one NDL group. The notice of absence 1934may indicate that the subscriber device (e.g., the first subscriberdevice 106, the second subscriber device 108, or both) is unavailableduring at least a portion of an NDL schedule associated with the atleast one NDL group. For example, the third subscriber device 110 maygenerate the notice of absence 1934 indicating that the third subscriberdevice 110 is unavailable to participate in at least one NDL group. Thenotice of absence 1934 may include at least one NDL group identifiercorresponding to the at least one NDL group. The third subscriber device110 may transmit the notice of absence 1934 during a discovery window.The provider device 104 may receive the notice of absence 1934 from thethird subscriber device 110. The provider device 104 may determine thatthe provider device 104 will not send data associated with the at leastone NDL group to the third subscriber device 110 during at least aportion of one or more discovery intervals (e.g., the discovery interval748 of FIG. 7) subsequent to the discovery window based on the notice ofabsence 1934. For example, the provider device 104 may receive thenotice of absence 1934 from the third subscriber device 110 during thediscovery window 710 of FIG. 7. The provider device 104 may determinethat no data associated with the at least one NDL group is to be sent tothe third subscriber device 110 during at least a portion of thediscovery interval 748. For example, the notice of absence 1934 mayindicate that no data associated with the at least one NDL group is tobe sent to the third subscriber device 110 during a subset of NDL timeblocks associated with the discovery interval 748. The provider device104 may determine that no data associated with the at least one NDLgroup is to be sent to the third subscriber device 110 during the subsetof NDL time blocks based on the notice of absence 1934.

In a particular aspect, the notice of absence 1934 may indicate that nodata associated with the at least one NDL group is to be sent to thethird subscriber device 110 during multiple discovery intervalssubsequent to the discovery window 710. The provider device 104 maydetermine that no data associated with the at least one NDL group is tobe sent to the third subscriber device 110 during the multiple discoveryintervals based on the notice of absence 1934.

The provider device 104 may determine that no data associated with theat least one NDL group is to be sent to the third subscriber device 110during the first communication window based on the notice of absence1934. In a particular aspect, the provider device 104 may refrain fromsending a traffic message (e.g., the traffic message 1930) associatedwith the at least one NDL group to the third subscriber device 110during the first communication window.

In a particular aspect, the provider device 104 may determine that thethird subscriber device 110 is to be omitted from the data recipientdevices indicated by the traffic advertisement 128 in response toreceiving the notice of absence 1934 indicating that no data associatedwith at least one NDL group is to be sent to the third subscriber device110 and determining that the traffic advertisement 128 is associatedwith the at least one NDL group. Alternatively, the provider device 104may determine that the third subscriber device 110 is to be included inthe data recipient devices indicated by the traffic advertisement 128 inresponse to receiving the notice of absence 1934 indicating that no dataassociated with the at least one NDL group is to be sent to the thirdsubscriber device 110 and determining that the traffic advertisement 128is associated with a second NDL group that is excluded from the at leastone NDL group. The provider device 104 may send the trafficadvertisement 128 during the portion of one or more discovery intervals(e.g., the discovery interval 748) subsequent to the NAN discoverywindow.

In a particular aspect, the provider device 104 may determine that thethird subscriber device 110 is to be included in the non-recipientdevices indicated by the traffic page 1932 in response to receiving thenotice of absence 1934 indicating that no data associated with the atleast one NDL group is to be sent to the third subscriber device 110 anddetermining that the traffic advertisement 128 is associated with the atleast one NDL group. Alternatively, the provider device 104 maydetermine that the third subscriber device 110 is to be omitted from thenon-recipient devices indicated by the traffic page 1932 in response toreceiving the notice of absence 1934 indicating that no data associatedwith the at least one NDL group is to be sent to the third subscriberdevice 110 and determining that the traffic advertisement 128 isassociated with a second NDL group that is excluded from the at leastone NDL group. The provider device 104 may send the traffic page 1932during the portion of one or more discovery intervals (e.g., thediscovery interval 748) subsequent to the NAN discovery window.

In a particular implementation, the provider device 104 may send thedata 122 to the third subscriber device 110 during the firstcommunication window in response to determining that the data 122 isassociated with a second NDL group and that the at least NDL group doesnot include the second NDL group.

The system 1900 may enable the provider device 104 to send the data 122to a subscriber device independently of sending a traffic message,receiving an ACK, receiving a trigger message, or a combination thereof.The provider device 104 may thus transmit the data 122 earlier in thefirst communication window, as compared to sending the traffic message,waiting for the ACK, waiting the trigger message, or a combinationthereof, prior to transmission of the data 122.

Referring to FIG. 20, a diagram is shown and generally designated 2000.In a particular aspect, the diagram 2000 may correspond to operation ofa particular aspect of the system 1900 of FIG. 19. The timing andoperations shown in FIG. 20 are for illustration and are not limiting.In other aspect, additional or fewer operations may be performed and thetiming may be different.

The diagram 2000 may differ from the diagram 200 of FIG. 2 in that theprovider device 104 may not receive an ACK (e.g., the ACK 138), atrigger message (e.g., the trigger message 150), or both, during atransmission window 2040. The transmission window 2040 may include apaging window. In an alternate aspect, no portion of the transmissionwindow 2040 may correspond to a dedicated paging window. For example, noportion of the transmission window 2040 may be restricted for exchangingtraffic messages (e.g., the traffic message 1930). The provider device104 may send the traffic message 1930, the data 122, or both, during anyportion of the transmission window 2040. The provider device 104 maysend the traffic message 1930 during the transmission window 2040. Thetraffic message 1930 may include the traffic advertisement 128, thetraffic page 1932, or both.

The subscriber devices 106, 108, 110, and 112 may monitor acommunication channel during a first portion of the transmission window2040. In a particular aspect, the first portion of the transmissionwindow 2040 may correspond to a paging window during which trafficmessages (e.g., the traffic message 1930) may be exchanged between thedevices 104-112. In an alternate aspect, the traffic message 1930, thedata 122, or both, may be exchanged during any portion of thetransmission window 2040. The subscriber devices 106, 108, 110, and 112may receive the traffic message 1930 from the provider device 104. Thetraffic message 1930 may include the traffic advertisement 128, thetraffic page 1932, or both. The traffic advertisement 128 may indicateone or more data recipients (e.g., the subscriber devices 106, 108, and110). The traffic page 1932 may indicate one or more non-recipientdevices (e.g., the fourth subscriber device 112). The fourth subscriberdevice 112 may transition to the inactive mode during a remainingportion of the transmission window 2040 in response to determining thatthe data recipients exclude the fourth subscriber device 112, that thenon-recipient devices include the fourth subscriber device 112, or both.

A subscriber device (e.g., the subscriber device 106, 108, or 110) maymonitor the communication channel in response to determining that thedata recipients include the subscriber device, that the non-recipientdevices do not include the subscriber device, or both. In a particularimplementation, the first subscriber device 106 may send the ACK 138 tothe provider device 104 responsive to the traffic message 1930.

In a particular implementation, the subscriber device (e.g., thesubscriber device 106, 108, or 110) may monitor the communicationchannel during a first portion of the transmission window 2040 (e.g., anNDL time block) independently of receiving the traffic message 1930(e.g., the traffic advertisement 128, the traffic page 1932, or both).The provider device 104 may send the data 122 to the first subscriberdevice 106 independently of receiving the ACK 138, the trigger message150, or both, from the first subscriber device 106. The provider device104 may send the data 122 to the second subscriber device 108independently of receiving the ACK 138, the trigger message 150, orboth, from the second subscriber device 108.

A subscriber device (e.g., the third subscriber device 110) may detectthat the communication channel is idle for a first duration (e.g., anidle time 2006) during a portion of the transmission window 2040. Thethird subscriber device 110 may transition to the inactive mode during aremaining portion of the transmission window 2040 in response todetermining that the idle time 2006 satisfies a threshold.

The provider device 104 may thus provide the data 122 to a subscriberdevice irrespective of whether the provider device 104 receives the ACK138, the trigger message 150, or both, from the subscriber device. Theentire transmission window 2040 may be available to the provider device104 to send the traffic message 1930, the data 122, or both.

Referring to FIG. 21, a diagram 2100 of an example of a trafficadvertisement 2110 is shown. In a particular aspect, the trafficadvertisement 2110 may include or correspond to the trafficadvertisement 128 of FIG. 1.

The traffic advertisement 2110 may include header fields, such as aduration field, address fields A1, A2, and A3, a sequence control (seq.ctrl.) field, a time stamp field, a beacon interval field, a capabilityfield, a frame check sequence (FCS) field, or a combination thereof. Ina particular implementation, the A3 field may indicate a NAN cluster ID.For example, the NAN cluster ID may correspond to an identifier of theNAN 102 of FIG. 1.

The traffic advertisement 2110 may further include a NAN public actionframe 2130. The NAN public action frame 2130 may include a categoryfield, an action field, an organizationally unique identifier (OUI)field, an OUI type field, or a combination thereof. The NAN publicaction frame 2130 may include one or more NAN attributes 2122.

In the illustrated example, the one or more NAN attributes 2122 includea traffic announcement attribute 2134. The traffic announcementattribute 2134 may include information indicating availability of datato be sent by a provider device, such as the provider device 104 ofFIG. 1. The traffic advertisement 2110 (e.g., a frame) may have a NANservice discovery frame (SDF) format, a NAN management frame (NMF)format, or both. For example, the traffic advertisement 2110 maycorrespond to a format of a service advertisement. The trafficadvertisement 2110 may differ from the service advertisement in that thetraffic advertisement 2110 may include the traffic announcementattribute 2134. The traffic announcement attribute 2134 may include atraffic indicator field, as described further with reference to FIG. 22.The traffic indicator field may indicate one or more data recipients, asfurther described with reference to FIG. 22. Thus, the trafficadvertisement 2110 may indicate availability of data to be sent by theprovider device 104 to the data recipients.

Referring to FIG. 22, a diagram 2200 of examples of a trafficannouncement attribute 2234 and a traffic indicator field 2213 is shown.The traffic announcement attribute 2234 may correspond to the trafficannouncement attribute 2134 of FIG. 21. The traffic announcementattribute 2234 may include an attribute identifier field 2210, a lengthfield 2211, an NDL group identifier field 2212, the traffic indicatorfield 2213, or a combination thereof.

The attribute identifier field 2210 may have a particular value thatidentifies the traffic announcement attribute 2234 as a trafficannouncement attribute. For example, the traffic advertisement 2110 ofFIG. 21 may include attributes selected from a plurality of attributetypes. The particular value of the attribute identifier field 2210 mayidentify the traffic announcement attribute 2234 as a trafficannouncement attribute. The length field 2211 may include a valueindicating a length of the traffic announcement attribute 2234. The NDLgroup identifier field 2212 may include a value indicating an identifier(e.g., a name) of an NDL group.

The traffic indicator field 2213 may include data descriptive of atraffic indicator. For example, the traffic indicator field 2213 mayinclude a type field 2214, a length field 2215, a value field 2216, or acombination thereof. The type field 2214 may indicate a type of thetraffic indicator (e.g., a bloom filter type, a TIM type, an ATIM type,or an address indicator list type). The length field 2215 may indicate alength of the traffic indicator field 2213. The value field 2216 mayinclude the traffic indicator (e.g., a bloom filter, a TIM, an ATIM, ora list of MAC address indicators). The bloom filter, the TIM, the ATIM,or the list of MAC address indicators may indicate one or more datarecipients (e.g., the subscriber devices 106, 108, and 110), asdescribed with reference to FIG. 1. In some aspects, the trafficindicator field 2213 may include a QoS category field. The QoS categoryfield may indicate an access category (e.g., the first access category1020, the second access category 1022 of FIG. 10, or another accesscategory) of the traffic advertisement 2110 or may indicate that thetraffic advertisement 2110 is associated with data (e.g., the data 122)corresponding to the access category.

During operation, the provider device 104 (e.g., the trafficadvertisement generator 130) may generate a frame (e.g., the trafficadvertisement 2110) having a NAN SDF format, a NMF format, or both. ANMF may include attributes related to NAN operation (e.g., NDL setup,paging, etc.). The traffic advertisement 2110 may include a vendorspecific action frame or a vendor specific public action frame. Thetraffic advertisement 2110 may include the traffic announcementattribute 2234 indicating availability of data to be sent by theprovider device 104 to one or more data recipient devices. For example,the traffic announcement attribute 2234 may include the value field2216. The value field 2216 may include a traffic indicator (e.g., abloom filter, a TIM, an ATIM, or a list of MAC address indicators)indicating the one or more data recipient devices (e.g., the subscriberdevices 106, 108, and 110). The provider device 104 may send the trafficadvertisement 2110 via a first communication channel during a firstcommunication window. For example, the provider device 104 may send thetraffic advertisement 2110 via a NAN interface or a NDL interface. Thefirst communication window may include a NAN discovery window, atransmission window, a paging window, or a data transmission window. Ina particular aspect, the first communication window may correspond to aninitial portion of an NDL time block. The NDL time block may correspondto a transmission window. In a particular aspect, the transmissionwindow may include a paging window and a data transmission window. In analternate aspect, the transmission window may exclude the paging window.For example, any portion of the transmission window may be available fortransmission of traffic messages (e.g., the traffic message 1930), data(e.g., the data 122), or both.

A subscriber device (e.g., the first subscriber device 106) may receivethe traffic advertisement 2110 via the first communication channelduring the first communication window from the provider device 104. Forexample, the first subscriber device 106 may receive the trafficadvertisement 2110 via a NAN interface or a NDL interface. The firstsubscriber device 106 may include (or have access to) mapping dataindicating a mapping between a NAN interface and a NDL interface ofdevices (e.g., the provider device 104) associated with an NDL group.The first subscriber device 106 may determine that the trafficadvertisement 2110 includes the traffic announcement attribute 2234 inresponse to determining that the attribute identifier field 2210 has aparticular value corresponding to a traffic attribute.

The first subscriber device 106 may determine a type of the trafficindicator (e.g., a bloom filter type, a TIM type, an ATIM type, or anaddress indicator list type) included in the traffic announcementattribute 2234 based on a value of the type field 2214. The firstsubscriber device 106 may extract the traffic indicator (e.g., a bloomfilter, a TIM, an ATIM, or a list of address indicators) from the valuefield 2216 based on the type of traffic indicator.

The first subscriber device 106 may determine the one or more datarecipient devices based on the traffic indicator. The first subscriberdevice 106 may monitor the first communication during at least a portionof the first communication window in response to determining that theone or more data recipient devices include the first subscriber device106. Alternatively, the first subscriber device 106 may transition to aninactive mode during a remaining portion of the first communicationwindow in response to determining that the one or more data recipientdevices do not include the first subscriber device 106. The firstsubscriber device 106 may, while in the inactive mode, refrain frommonitoring the first communication channel, perform other networkoperations, transition to a low-power mode, or a combination thereof. Ina particular aspect, the traffic page 1932 may differ from the trafficadvertisement 2110 in that a particular field (e.g., the attributeidentifier field 2210) of the traffic page 1932 may have a particularvalue that identifies the traffic page 1932 as a traffic page and thetraffic indicator may indicate one or more non-recipient devices.

The traffic advertisement 2110 may indicate availability of data to besent by the provider device 104 to one or more data recipients. Asubscriber device may monitor a communication channel or perform otheroperations based on determining whether the one or more data recipientsinclude the subscriber device.

Referring to FIG. 23, a diagram 2300 of examples of a trafficannouncement attribute 2334, a page control field 2313, a paged devicelist (PDL) 2318, and a PDL control field 2319 is shown. The trafficannouncement attribute 2334 may correspond to the traffic announcementattribute 2134 of FIG. 21.

The traffic announcement attribute 2334 may include the attributeidentifier field 2210, the length field 2211, the NDL group identifierfield 2212, the page control field 2313, a sequence of PDLs field 2317,or a combination thereof. The traffic announcement attribute 2334 maydiffer from the traffic announcement attribute 2234 in that the trafficannouncement attribute 2334 may include the page control field 2313, thesequence of PDLs field 2317, or both, and may exclude (or omit) thetraffic indicator field 2213.

The page control field 2313 may indicate which fields are present. Forexample, the page control field 2313 may indicate a number of PDLspresent. To illustrate, the page control field 2313 may include abroadcast/multicast field 2314, a number of PDLs field 2315, a reservedfield 2316, or a combination thereof. The broadcast/multicast field 2314may indicate whether the data to be sent is multicast data or unicastdata.

The number of PDLs field 2315 may indicate a count of PDLs included inthe sequence of PDLs field 2317. The sequence of PDLs field 2317 mayinclude zero or more PDLs (e.g., a PDL 2318).

The PDL 2318 may include a PDL control field 2319, a list of devicesfield 2320, or both. The PDL control field 2319 may include datadescriptive of the list of devices field 2320. For example, the PDLcontrol field 2319 may include a length field 2321, a QoS category field2322, a type field 2323, a number of octets per address field 2324, or acombination thereof.

The length field 2321 may indicate a length of the list of devices field2320. The QoS category field 2322 may indicate a QoS category (e.g., anaccess category) of data. The type field 2323 may indicate a type of adata recipients list included in the list of devices field 2320. Forexample, a first value (e.g., 00) of the type field 2323 may indicatethat the list of devices field 2320 includes a list of addressindicators (e.g., MAC address indicators), a second value (e.g., 01) ofthe type field 2323 may indicate that the list of devices field 2320includes a bloom filter, a third value (e.g., 10) may indicate that thelist of devices field 2320 includes a bitmap representing a TIM, afourth value may indicate that the list of devices field 2320 includesan ATIM.

When the type field 2323 has the first value (e.g., 00), the number ofoctets per address field 2324 may indicate a number of bytes of anaddress indicated in the list of address indicators. For example, afirst value (e.g., 00, 01, 10, or 11) of the number of octets peraddress field 2324 may indicate that an address indicator of the list ofaddress indicators includes a first number of bytes (e.g., 6 octets, 1octet, 2 octets, or 4 octets) of an address. The address indicator mayinclude the least significant bytes (LSB) of the address.

When the type field 2323 has the second value (e.g., 01), the number ofoctets per address field 2324 may indicate a bloom filter index. Whenthe type field 2323 has the third value (e.g., 10), the number of octetsper address field 2324 may include a bitmap control field, a partialvalue bitmap field, or both. When the type field 2323 has the thirdvalue (e.g., 10), one or more bits of the list of devices field 2320 mayindicate a bitmap offset.

During operation, the provider device 104 (e.g., the trafficadvertisement generator 130) may generate a frame (e.g., the trafficadvertisement 2110) having a NAN service discovery frame format, a NMFformat, or both. The traffic advertisement 2110 may include the trafficannouncement attribute 2334 indicating availability of data to be sentby the provider device 104 to one or more data recipient devices. Forexample, the traffic announcement attribute 2334 may include the pagecontrol field 2313. The broadcast/multicast field 2314 may indicatewhether the data includes multicast data or unicast data. For example,the provider device 104 may set the broadcast/multicast field 2314 to afirst value (e.g., 1) in response to determining that the same data(e.g., the data 122) is to be multicast to the data recipient devices.Alternatively, the provider device 104 may set the broadcast/multicastfield 2314 to a second value (e.g., 0) in response to determining thatthe data 122 is to be unicast to each of the data recipient devices. Thedata 122 to be sent to the first subscriber device 106 may be distinctfrom the data 122 to be sent to the second subscriber device 108.

The provider device 104 may set the number of PDLs field 2315 toindicate a count of PDLs included in the sequence of PDLs field 2317.For example, the provide device 104 may include multiple PDLs in thesequence of PDLs field 2317 in response to determining that multipletypes of lists (e.g., MAC address indicator list, a bloom filter, a TIM,an ATIM, etc.) are to be sent, that availability of data correspondingto multiple access categories is to be indicated, or both. For example,the sequence of PDLs field 2317 may include a first list of devices, asecond list of devices, or both. In some implementations, the first listof devices may include one of a MAC address indicator list, a bloomfilter, a TIM, or an ATIM. The second list of devices may includeanother of the MAC address indicator list, a bloom filter, the TIM, orthe ATIM. In some implementations, the first list of devices maycorrespond to a first access category that is distinct from a secondaccess category associated with the second list of devices.

The sequence of PDLs field 2317 may include the PDL 2318. For example,the provider device 104 may generate an address indicator list, a bloomfilter, a TIM, or an ATIM, as described with reference to FIG. 1. Thelist of devices field 2320 may include the address indicator list, thebloom filter, the TIM, or the ATIM. The type field 2323 may indicatewhether the list of devices field 2320 includes the address indicatorlist, the bloom filter, the TIM, or the ATIM. The QoS category field2322 may indicate an access category of the data 122.

The provider device 104 may send the traffic advertisement 2110 via afirst communication channel during a first communication window. Asubscriber device (e.g., the first subscriber device 106) may receivethe traffic advertisement 2110 via the first communication channelduring the first communication window from the provider device 104. Thefirst subscriber device 106 may determine that the traffic advertisement2110 includes the traffic announcement attribute 2334 in response todetermining that the attribute identifier field 2210 has a particularvalue corresponding to a traffic attribute.

The first subscriber device 106 may determine a count of PDLs includedin the sequence of PDLs field 2317 based on the number of PDLs field2315. The first subscriber device 106 may extract the PDL 2318 from thesequence of PDLs field 2317. The first subscriber device 106 may, basedon the type field 2323, determine a type (e.g., a bloom filter type, aTIM type, an ATIM type, or an address indicator list type) of a list ofdevices included in the list of devices field 2320 of the PDL 2318. Thefirst subscriber device 106 may extract the list of devices (e.g., abloom filter, a TIM, an ATIM, or a list of addresses) from the valuefield 2216 based on the type (e.g., a bloom filter type, a TIM type, anATIM type, or an address indicator list type).

The first subscriber device 106 may determine the one or more datarecipient devices based on the list of devices. The first subscriberdevice 106 may monitor the first communication during at least a portionof the first communication window in response to determining that theone or more data recipient devices include the first subscriber device106. Alternatively, the first subscriber device 106 may transition to aninactive mode during a remaining portion of the first communicationwindow in response to determining that the one or more data recipientdevices do not include the first subscriber device 106. The trafficadvertisement 2110 may indicate availability of data to be sent by theprovider device 104 to one or more data recipients. A subscriber devicemay monitor a communication channel or perform other operations based ondetermining whether the one or more data recipients include thesubscriber device.

Referring to FIG. 24, a diagram 2400 of examples of a trafficannouncement attribute 2434 and a page control field 2413 of the trafficannouncement attribute 2434 is shown. The traffic announcement attribute2434 may correspond to the traffic announcement attribute 2134 of FIG.21.

The traffic announcement attribute 2434 may include the attributeidentifier field 2210, the length field 2211, the NDL group identifierfield 2212, the page control field 2413, the traffic indicator field2213, a QoS type field 2415, or a combination thereof. The trafficannouncement attribute 2434 may differ from the traffic announcementattribute 2234 in that the traffic announcement attribute 2434 mayinclude the page control field 2413, the QoS type field 2415, or both.

The page control field 2413 may indicate which fields are present. Forexample, the page control field 2413 may indicate whether the QoS typefield 2415 is present, whether the data to be sent is multicast data,unicast data, or both. To illustrate, the page control field 2413 mayinclude a traffic indicator field 2416, a QoS category present field2417, a reserved field 2418, or a combination thereof. The trafficindicator field 2416 may indicate whether the data to be sent ismulticast data or unicast data. For example, a first value (e.g., 1) mayindicate that the data to be sent is multicast and a second value (e.g.,2-4) may indicate that the data to be sent is unicast. A particularvalue (e.g., 0) of the traffic indicator field 2416 may indicate thatthe traffic advertisement 2110 of FIG. 21 is generated based on acollaborative group key (CGK) scheme. The traffic indicator field 2213may indicate an identifier (e.g., at least a portion of a MAC address)of a device associated with the CGK scheme. For example, the trafficindicator field 2213 may indicate an identifier of a device thatgenerated a CGK associated with the traffic advertisement 2110. The QoScategory present field 2417 may indicate whether the QoS type field 2415is present. For example, a first value (e.g., 1) of the QoS categorypresent field 2417 may indicate that the QoS type field 2415 indicates aQoS category (e.g., an access category) of the data to be sent. When thetraffic indicator field 2213 indicates that the traffic advertisement2110 is generated based on the CGK scheme, the QoS type field 2415 mayindicate a first QoS category (e.g., a higher access category).

During operation, the provider device 104 (e.g., the trafficadvertisement generator 130) may generate a frame (e.g., the trafficadvertisement 2110) having a NAN service discovery frame format, a NMFformat, or both. The traffic advertisement 2110 may include the trafficannouncement attribute 2434 indicating availability of data to be sentby the provider device 104 to one or more data recipient devices. Forexample, the traffic announcement attribute 2434 may include the pagecontrol field 2413. The traffic indicator field 2416 may indicatewhether the data includes multicast data or unicast data. For example,the provider device 104 may set the traffic indicator field 2416 to afirst value (e.g., 1) in response to determining that the same data(e.g., the data 122) is to be multicast to the data recipient devices.Alternatively, the provider device 104 may set the traffic indicatorfield 2416 to a second value (e.g., 2-4) in response to determining thatthe data 122 is to be unicast to each of the data recipient devices. Thedata 122 to be sent to the first subscriber device 106 may be distinctfrom the data 122 to be sent to the second subscriber device 108.

The provider device 104 may set the traffic indicator field 2416 to aparticular value based on determining whether the traffic indicatorfield 2213 is to represent the data recipient devices using a TIM, abloom filter, an ATIM, an address indicator list, or anotherrepresentation. For example, the provider device 104 may set the trafficindicator field 2416 to a first particular value (e.g., 2) in responseto determining that the traffic indicator field 2213 is to include a TIMindicating the data recipient devices. The provider device 104 may setthe traffic indicator field 2416 to a second particular value (e.g., 3)in response to determining that the traffic indicator field 2213 is toinclude a bloom filter indicating the data recipient devices. Theprovider device 104 may set the traffic indicator field 2416 to a thirdparticular value (e.g., 4) in response to determining that the trafficindicator field 2213 is to include an address indicator list (e.g., aMAC address indicator list) indicating the data recipient devices. Theprovider device 104 may set the traffic indicator field 2416 to a fourthparticular value in response to determining that the traffic indicatorfield 2213 is to include an ATIM indicating one or more of the datarecipient devices.

The provider device 104 may send the traffic advertisement 2110 via afirst communication channel during a first communication window. Asubscriber device (e.g., the first subscriber device 106) may receivethe traffic advertisement 2110 via the first communication channelduring the first communication window from the provider device 104. Thefirst subscriber device 106 may determine that the traffic advertisement2110 includes the traffic announcement attribute 2434 in response todetermining that the attribute identifier field 2210 has a particularvalue corresponding to a traffic attribute.

The first subscriber device 106 may determine whether the data recipientdevices include the first subscriber device 106 based on the trafficindicator field 2213, as described with reference to FIG. 22. The firstsubscriber device 106 may, based on the QoS category present field 2417,determine a QoS type (e.g., an access category) of data to be receivedbased on the QoS type field 2415. For example, the first subscriberdevice 106 may determine the QoS type based on the QoS type field 2415in response to determining that the QoS category present field 2417indicates that the QoS type field 2415 is present (e.g., includes validdata). The first subscriber device 106 may determine whether the data isto be multicast or unicast based on the traffic indicator field 2416.

The first subscriber device 106 may monitor the first communicationduring at least a portion of the first communication window in responseto determining that the data recipient devices include the firstsubscriber device 106. Alternatively, the first subscriber device 106may transition to an inactive mode during a remaining portion of thefirst communication window in response to determining that the datarecipient devices do not include the first subscriber device 106. Thetraffic advertisement 2110 may indicate availability of data to be sentby the provider device 104 to one or more data recipients. A subscriberdevice may monitor a communication channel or perform other operationsbased on determining whether the one or more data recipients include thesubscriber device.

Referring to FIG. 25, a diagram 2500 of an example of a neighbor awarenetwork (NAN) data link (NDL) negotiation attribute 2534 is shown. In aparticular aspect, a negotiation message (e.g., the first negotiationmessage 1928, the second negotiation message 1938, or both) may includethe NDL negotiation attribute 2534. The negotiation message (e.g., thefirst negotiation message 1928, the second negotiation message 1938, orboth) may correspond to a frame having a NAN SDF format, a NMF format,or both. A NAN SDF (or a NMF) may include one or more attributes (e.g.,the NDL negotiation attribute 2534, the traffic announcement attribute2134 of FIG. 21, or both). A negotiation message (e.g., the firstnegotiation message 1928, the second negotiation message 1938, or both)may correspond to a NAN SDF (or a NMF) that includes at least one NDLattribute (e.g., the NDL negotiation attribute 2534). The negotiationmessage (e.g., the first negotiation message 1928, the secondnegotiation message 1938, or both) may be generated by the trafficadvertisement generator 130, the traffic advertisement analyzer 134, orboth, of at least one of the devices 104-114. The devices 104-114 maygenerate the negotiation message (e.g., the first negotiation message1928, the second negotiation message 1938, or both) during NDL setup ofan NDL group (e.g., the NAN 102) or while extending a lifetime of theNDL group (e.g., the NAN 102).

The negotiation message may indicate data related to participation of asender device (e.g., the device 104-114) in an NDL group. The senderdevice (e.g., the device 104-114) may generate and transmit thenegotiation message. The NDL negotiation attribute 2534 may include anattribute identifier field 2510, a length field 2511, a MAC addressfield 2512, a group identifier field 2513, a validity time field 2514,an NDL control field 2515, a security type field 2519, an NDL logicalchannel indicator field 2516, a map control field 2517, an availabilityintervals bitmap field 2518, or a combination thereof. The attributeidentifier field 2510 may have a particular value (e.g., 0x0C)identifying the NDL negotiation attribute 2534 as an NDL negotiationattribute. The length field 2511 may indicate a length of the NDLnegotiation attribute 2534. The MAC address field 2512 may indicate aMAC address of a device (e.g., the sender device). The group identifierfield 2513 may include an NDL group identifier of the NDL group. Thevalidity time field 2514 may indicate a number of discovery windowintervals (e.g., discovery intervals) that the NDL negotiation attribute2534 is valid. For example, the NDL negotiation attribute 2534 may bevalid for multiple discovery intervals. The NDL control field 2515 mayindicate whether an availability map is present, whether an NDL logicalchannel indicator is present, a status code, a flexibility field, apower save field, or a combination thereof, as further described withreference to FIG. 26. The security type field 2519 may indicate one ormore authentication protocols, one or more cipher suites, or acombination thereof, supported by the sender device (e.g., the device104-114).

The NDL logical channel indicator field 2516 may include the NDL logicalchannel indicator. The NDL logical channel indicator may indicate atleast one logical channel. A logical channel may correspond to aphysical channel and at least one time period (or time block), asdescribed with reference to FIG. 1. The NDL control field 2515 mayindicate whether the NDL logical channel indicator field 2516 includesthe NDL logical channel indicator, as further described with referenceto FIG. 26

The map control field 2517 may include an availability channel and timemap control information, as further described with reference to FIG. 26.A discovery interval (e.g., the discovery interval 748) betweenconsecutive discovery windows may be divided into time intervals. Eachof the time intervals may have the same duration. The availabilitychannel and the time map control information may indicate a duration ofa time interval. For example, a subfield (e.g., an availability intervalduration subfield) of the map control field 2517 may indicate theduration of the time interval. The NDL control field 2515 may indicatewhether the map control field 2517 includes the availability channel andthe time map control information, as further described with reference toFIG. 26.

The NDL negotiation attribute 2534 may include one or more fields toindicate a proposed NDL schedule. For example, the availabilityintervals bitmap field 2518 may indicate a proposed NDL schedule. Theavailability intervals bitmap field 2518 may include an availabilityintervals bitmap. The sender device may set a particular bit (e.g., ani-th bit) of the availability intervals bitmap to a first value(e.g., 1) to announce that the sender device will monitor (e.g., iscompletely committed to monitoring) a particular channel (e.g., anoperation channel) during a corresponding time interval (e.g., an i-thtime interval) of the discovery interval 748; otherwise the senderdevice may set the particular bit (e.g., the i-th bit) to a second value(e.g., 0). The second value (e.g., 0) of the particular bit (e.g., thei-th bit) of the availability intervals bitmap may indicate that thesender device may optionally monitor (e.g., is partially committed tomonitoring) the particular channel (e.g., the operation channel) duringthe corresponding time interval (e.g., the i-th time interval) of thediscovery interval 748. The NDL negotiation attribute 2534 may thusindicate whether the sender device is partially or completely committedto the proposed NDL schedule. The particular channel may be indicated inanother associated attribute (e.g., a further availability mapattribute). The NDL control field 2515 may indicate whether theavailability intervals bitmap field 2518 includes an availabilityintervals bitmap, as further described with reference to FIG. 26. Insome implementations, a sender device may indicate a proposed scheduleusing a further availability attribute. For example, the furtheravailability attribute may indicate one or more operation channels(e.g., one or more communication channels). The availability intervalsbitmap may include bits corresponding to the one or more operationchannels. For example, an i-th bit of the availability intervals bitmapmay correspond to a particular operation channel indicated by thefurther availability attribute and to a particular time interval. Avalue of the i-th bit may indicate whether the sender is partially orcompletely committed to monitoring the particular operation channelduring the particular time interval.

In some implementations, a negotiation message (e.g., the firstnegotiation message 1928, the NDL negotiation attribute 2534, or both)may indicate whether the proposed schedule is immutable (or partlyimmutable). For example, the provider device 104 may generate thenegotiation message (e.g., the first negotiation message 1928, the NDLnegotiation attribute 2534, or both) including a field indicatingwhether a receiving device (e.g., the first subscriber device 106, thesecond subscriber device 108, or the fourth subscriber device 112) isexpected to be available during the entire proposed NDL schedule orduring at least a portion of the proposed NDL schedule.

In some implementations, the negotiation message (e.g., the firstnegotiation message 1928, the NDL negotiation attribute 2534, or both)may indicate whether portions of the proposed NDL schedule are immutable(or partly immutable). For example, the negotiation message (e.g., thefirst negotiation message 1928, the NDL negotiation attribute 2534, orboth) may include a bitmap (e.g., an immutability bitmap) that indicateswhether portions of the proposed schedule are immutable (or partlyimmutable). To illustrate, the provider device 104 may set a particularbit (e.g., an i-th bit) of the immutability bitmap to a first value(e.g., 1) to indicate that a receiving device (e.g., the firstsubscriber device 106, the second subscriber device 108, or the fourthsubscriber device 112) is expected to be available to monitor aparticular communication channel during an entirety of a particular timeinterval. Alternatively, the provider device 104 may set the particularbit (e.g., the i-th bit) of the immutability bitmap to a second value(e.g., 0) to indicate that the receiving device (e.g., the firstsubscriber device 106, the second subscriber device 108, or the fourthsubscriber device 112) is expected to be available to monitor theparticular communication channel during at least a portion of theparticular time interval.

In some implementations, a sender device may generate a negotiationmessage (e.g., the second negotiation message 1938, the NDL negotiationattribute 2534, or both) indicating whether the sender device (e.g., thefirst subscriber device 106, the second subscriber device 108, or thefourth subscriber device 112) is partly committed to (e.g., partiallyavailable during) a proposed schedule or completely committed to theproposed schedule. For example, the first subscriber device 106 maygenerate the negotiation message (e.g., the second negotiation message1938, the NDL negotiation attribute 2534, or both) including a fieldindicating whether the sender device (e.g., the first subscriber device106) is committed to being available during the entire proposed NDLschedule or during at least a portion of the proposed NDL schedule.

In some implementations, the negotiation message (e.g., the secondnegotiation message 1938, the NDL negotiation attribute 2534, or both)may indicate whether a sender device (e.g., the first subscriber device106, the second subscriber device 108, or the fourth subscriber device112) is partly or completely committed to portions of the proposedschedule. For example, the negotiation message (e.g., the secondnegotiation message 1938, the NDL negotiation attribute 2534, or both)may include a bitmap (e.g., a commitment bitmap) that indicates whetherthe sender device is partly committed (e.g., partially available) orcompletely committed to portions of the proposed schedule. Toillustrate, the first subscriber device 106 may set a particular bit(e.g., an i-th bit) of the commitment bitmap to a first value (e.g., 1)to indicate that the first subscriber device 106 is committed tomonitoring a particular communication channel during an entirety of aparticular time interval. Alternatively, the first subscriber device 106may set the particular bit (e.g., the i-th bit) of the commitment bitmapto a second value (e.g., 0) to indicate that the first subscriber device106 is committed (e.g., is partially available) to monitor theparticular communication channel during at least a portion of theparticular time interval.

The NDL negotiation attribute 2534 may include one or more fields toindicate at least one condition to establish a data link between thesender device (e.g., one of the devices 104-112) and a receiving device.The at least one condition may include a data rate threshold, a QoSthreshold, a channel communication capability, conformance to a WiFistandard, or a combination thereof. The data rate threshold may indicatea minimum data rate or a maximum data rate. The QoS threshold mayindicate a minimum access category or a maximum access category. Thechannel communication capability may indicate one or more communicationchannels that the sender device (e.g., one of the devices 104-112) iscapable of using to communicate. The conformance to a WiFi standard mayindicate one or more WiFi standards to which the sender device (e.g.,one of the devices 104-112) conforms.

The NDL negotiation attribute 2534 may enable a device to negotiateterms of participation of the device in an NDL group with anotherdevice. For example, the device may send a first negotiation messageincluding the NDL negotiation attribute 2534 indicating informationregarding availability of the device to participate in the NDL group. Asecond device may send a second negotiation message including the NDLnegotiation attribute 2534 indicating information regarding availabilityof the second device to participate in the NDL group. The first devicemay exchange messages, data, or both, with the second device when thefirst device and the second device are available to participate in theNDL group.

Referring to FIG. 26, a diagram 2600 of the NDL control field 2515 isshown. The NDL control field 2515 may include an availability mappresent field 2614, an NDL logical channel indicator present field 2615,a status code field 2616, a flexible field 2617, a power save field2618, a security field 2620, a reserved field 2619, or a combinationthereof.

The availability map present field 2614 may indicate whetheravailability channel and time map control information is present. Forexample, a first value (e.g., 1) of the availability map present field2614 may indicate that the availability channel and time map controlinformation is present in the map control field 2517 and theavailability intervals bitmap field 2518, as described with reference toFIG. 25. As another example, a second value (e.g., 0) of theavailability map present field 2614 may indicate that the availabilitychannel and time map control information is absent in the map controlfield 2517 and the availability intervals bitmap field 2518, asdescribed with reference to FIG. 25.

The NDL logical channel indicator present field 2615 may indicatewhether an NDL logical channel indicator is present. For example, afirst value (e.g., 1) of the NDL logical channel indicator present field2615 may indicate that the NDL logical channel indicator is present inthe NDL logical channel indicator field 2516, as further described withreference to FIG. 25. As another example, a second value (e.g., 0) ofthe NDL logical channel indicator present field 2615 may indicate thatthe NDL logical channel indicator is absent in the NDL logical channelindicator field 2516, as further described with reference to FIG. 25.The NDL logical channel indicator may identify a logical channel that isdefined in accordance with one or more wireless standards, such as anIEEE 802.11 standard.

The status code field 2616 may indicate whether the NDL negotiationattribute 2534 corresponds to a negotiation request, a negotiationresponse, a negotiation failure, or a negotiation confirmation. Forexample, a first value (e.g., 00) of the status code field 2616 mayindicate that the NDL negotiation attribute 2534 corresponds to anegotiation request. To illustrate, the NDL negotiation attribute 2534may be included in a first negotiation message sent by a first device(e.g., the provider device 104) to a second device (e.g., the firstsubscriber device 106) to initiate a negotiation process.

A second value (e.g., 01) of the status code field 2616 may indicatethat the NDL negotiation attribute 2534 corresponds to a negotiationresponse (e.g., a rejection of the negotiation request and a counterrequest). To illustrate, the NDL negotiation attribute 2534 may beincluded in a second negotiation message sent by the first subscriberdevice 106 to the provider device 104 in response to receiving the firstnegotiation message.

A third value (e.g., 10) of the status code field 2616 may indicate thatthe NDL negotiation attribute 2534 corresponds to a negotiation failure.To illustrate, the NDL negotiation attribute 2534 may be included in athird negotiation message sent by the provider device 104 to the firstsubscriber device 106 in response to receiving the second negotiationmessage. The provider device 104 may send the third negotiation messagein response to determining that the first negotiation message indicatesfirst NDL participation information that is incompatible with second NDLparticipation information indicated by the second negotiation message.For example, the first NDL participation information may indicate thatthe provider device 104 is available during one or more first timeintervals (or first time blocks). The second NDL participationinformation may indicate that the first subscriber device 106 isavailable during one or more second time intervals (or second timeblocks). The first time intervals and the second time intervals may benon-overlapping.

A fourth value (e.g., 11) of the status code field 2616 may indicatethat the NDL negotiation attribute 2534 corresponds to a negotiationconfirmation. To illustrate, the NDL negotiation attribute 2534 may beincluded in a fourth negotiation message sent by the provider device 104to the first subscriber device 106 in response to receiving the secondnegotiation message. The provider device 104 may send the fourthnegotiation message in response to determining that the first NDLparticipation information indicated by the first negotiation message iscompatible with second NDL participation information indicated by thesecond negotiation message. For example, the first NDL participationinformation may indicate that the provider device 104 is availableduring the first time intervals. The second NDL participationinformation may indicate that the first subscriber device 106 isavailable during the second time intervals. The first time intervals mayoverlap the second time intervals. The fourth negotiation message mayindicate the overlapping time intervals.

The flexible field 2617 may indicate whether a receiving device maynegotiate an alternate schedule. For example, a first value (e.g., 1) ofthe flexible field 2617 may indicate that the receiving device maynegotiate an alternate schedule. A second value (e.g., 0) of theflexible field 2617 may indicate that the schedule is non-negotiable.For example, the provider device 104 may send the first negotiationmessage indicating that the provider device 104 is available during aproposed NDL schedule including the first time intervals. The firstsubscriber device 106 may send a second negotiation message with thestatus code field 2616 indicating a negotiation failure or a negotiationconfirmation in response to determining that the flexible field 2617 hasthe second value (e.g., 0) indicating that the schedule isnon-negotiable. Alternatively, the first subscriber device 106 may senda third negotiation message with the status code field 2616 indicating anegotiation response, a negotiation failure, or a negotiationconfirmation in response to determining that the flexible field 2617 hasthe first value (e.g., 1) indicating that a receiving device maynegotiate an alternate schedule.

The power save field 2618 may indicate a power save request. Forexample, a first value (e.g., 1) of the power save field 2618 (e.g., apower save bit) may identify a sender device (e.g., one of the devices104-112) as a power-constraint device. In a particular aspect, the firstvalue of the power save field 2618 may indicate that the sender deviceis able to support a power save mechanism during participation in aparticular NDL group. In a particular implementation, the sender devicemay support a power save mechanism (e.g., traffic messaging) duringparticipation in a first NDL group and may not support a power savemechanism (e.g., traffic message) during participation in a second NDLgroup. For example, the sender device may send a particular negotiationmessage associated with the first NDL group with the power save field2618 having the first value and may send another negotiation messageassociated with the first NDL group with the power save field 2618having a second value (e.g., 0).

The sender device may determine whether to support a power savemechanism during participation in a particular NDL group based on a typeof service (e.g., an application) associated with the particular NDLgroup, a topology of the particular NDL group, or both. For example, thesender device may determine that the power save mechanism duringparticipation in an NDL group is not to be supported in response todetermining that a service associated with the NDL group corresponds toa low latency application (e.g., a real-time application), that the NDLgroup corresponds to a first topology (e.g., a many-to-one topology), orboth. As another example, the sender device may determine that the powersave mechanism during participation in the NDL group is to be supportedin response to determining that the service does not correspond to a lowlatency application (e.g., corresponds to a file transfer application),that the NDL group corresponds to a second topology (e.g., a one-to-onetopology), or both. The sender device may correspond to a device thatsent a negotiation message including the NDL negotiation attribute 2534.The first value of the power save field 2618 may correspond to a powersave request, as described with reference to FIG. 19.

The security field 2620 may indicate whether the security type field2519 of FIG. 25 is present. For example, the security field 2620 mayindicate whether the security type field 2519 includes valid data (e.g.,security data indicating supported authentication protocol(s), ciphersuites (s), or both). To illustrate, a first value (e.g., 0) of thesecurity field 2620 may indicate that the security type field 2519 doesnot include valid data (e.g., the security data). A second value(e.g., 1) of the security field 2620 may indicate that the security typefield 2519 includes valid data (e.g., the security data). A receivingdevice may, in response to determining that the security field 2620indicates that the security type field 2519 includes valid data,determine one or more authentication protocols, one or more ciphersuites, or both, supported by the sender device based on the securitytype field 2519.

The NDL control field 2515 may enable a device to negotiate terms ofparticipation of the device in an NDL group with another device. Forexample, the device may send a first negotiation message including theNDL control field 2515 indicating information regarding the negotiation.For example, the NDL control field 2515 may indicate whether the firstnegotiation corresponds to a negotiation confirmation, a negotiationfailure, a negotiation response, or a negotiation request.

Referring to FIG. 27, a particular aspect of a method of operation isshown and generally designated 2700. In a particular aspect, the method2700 may be performed by the traffic advertisement generator 130 of theprovider device 104 of FIG. 1.

The method 2700 includes generating a traffic advertisement at aprovider device of a neighbor aware network (NAN) data path group, at2702. For example, the traffic advertisement generator 130 of FIG. 1 ofthe provider device 104 of a data path group of the NAN 102 may generatethe traffic advertisement 128, as described with reference to FIG. 1.The traffic advertisement 128 may indicate availability of data to besent by the provider device 104 to multiple subscriber devices (e.g.,the subscriber devices 106-110) of a set of subscriber devices (e.g.,the subscriber devices 106-114) of the NAN data path group. The data mayinclude first data to be sent to the first subscriber device 106 andsecond data to be sent to the second subscriber device 108.

The method 2700 also includes sending, from the provider device, thetraffic advertisement during a paging window of the NAN data path group,at 2704. For example, the traffic advertisement generator 130 of FIG. 1may send the traffic advertisement 128 during a paging window of the NANdata path group, as described with reference to FIG. 1.

The method 2700 further includes receiving a first acknowledgement (ACK)during the paging window at the provider device from the firstsubscriber device, at 2706. For example, the traffic advertisementgenerator 130 of FIG. 1 may receive the ACK 138 during the paging windowfrom the first subscriber device 106, as described with reference toFIG. 1.

The method 2700 also includes sending the first data from the providerdevice to the first subscriber device during a data transmission windowof the NAN data path group, at 2708. For example, the trafficadvertisement generator 130 of FIG. 1 may send the data 122 to the firstsubscriber device 106 during a data transmission window, as describedwith reference to FIG. 1.

The method 2700 further includes sending the second data from theprovider device to the second subscriber device during the datatransmission window, at 2710. For example, the traffic advertisementgenerator 130 of FIG. 1 may send the data 122 to the second subscriberdevice 108 during the data transmission window, as described withreference to FIG. 1. The data 122 sent to the first subscriber device106 may be distinct from the data 122 sent to the second subscriberdevice 108. The traffic advertisement generator 130 of FIG. 1 may nothave received an ACK during the paging window from the second subscriberdevice 108, as described with reference to FIG. 1.

The method 2700 may thus enable a provider device to send data of aparticular service to multiple subscriber devices during a datatransmission window in response to determining that an ACK has beenreceived from a single subscriber device during a corresponding pagingwindow or that ACKs have been received from fewer than all of themultiple subscriber devices during the corresponding paging window. Forexample, the provider device may send first data to an acknowledgingsubscriber device from which the provider device received an ACK and maysend second data to a non-acknowledging subscriber device from which theprovider device has not received an ACK. The provider device may thussend data to multiple subscriber devices without receiving an ACK fromeach of the multiple subscriber devices in response to determining thatan ACK has been received from at least one of the multiple subscriberdevices.

Referring to FIG. 28, a particular aspect of a method of operation isshown and generally designated 2800. In a particular aspect, the method2800 may be performed by the traffic advertisement analyzer 134 of thedevice 104-114 of the system 100 of FIG. 1.

The method 2800 includes receiving a traffic advertisement at asubscriber device of a neighbor aware network (NAN) data path group froma provider device of the NAN data path group, at 2802. For example, thetraffic advertisement analyzer 134 of the first subscriber device 106 ofa data path group of the NAN 102 may receive the traffic advertisement128 from the provider device 104, as described with reference to FIG. 1.The traffic advertisement 128 may indicate availability of data to besent by the provider device 104 to multiple subscriber devices (e.g.,the subscriber devices 106-110) of a set of subscriber devices (e.g.,the subscriber devices 106-114) of the NAN data path group.

The method 2800 also includes determining, at the subscriber device,whether the subscriber device is a leader device of the multiplesubscriber devices, at 2804. For example, the traffic advertisementanalyzer 134 of FIG. 1 may determine whether the first subscriber device106 is a leader device of the multiple subscriber devices (e.g., thesubscriber devices 106-110), as described with reference to FIG. 1.

The method 2800 further includes, in response to determining that thesubscriber device is the leader device, at 2804, sending anacknowledgement (ACK) from the subscriber device to the provider device,at 2806. For example, the traffic advertisement analyzer 134 of FIG. 1may send the ACK 138 from the first subscriber device 106 to theprovider device 104 in response to determining that the first subscriberdevice 106 is the leader device, as described with reference to FIG. 1.

The method 2800 further includes, in response to determining that thesubscriber device is not the leader device, at 2804, refraining fromsending the ACK from the subscriber device to the provider device, at2808. For example, the traffic advertisement analyzer 134 of FIG. 1 mayrefrain from sending the ACK 138 from the first subscriber device 106 tothe provider device 104 in response to determining that the firstsubscriber device 106 is not the leader device, as described withreference to FIG. 1.

The method 2800 may thus enable a subscriber device to determine send anACK responsive to a traffic advertisement based on determining whetherthe subscriber device is a leader device. The subscriber device mayconserve resources by refraining from sending the ACK in response todetermining that the subscriber device is not the leader device.

Referring to FIG. 29, a particular example of a method of operation isshown and generally designated 2900. The method 2900 may be performed bythe traffic advertisement generator 130 of the provider device 104 ofFIG. 1, the device 1002 of FIG. 10, or both.

The method 2900 includes generating a control message at a providerdevice of a neighbor aware network (NAN) data path group, at 2902. Forexample, the device 1002 of FIG. 10A (e.g., the provider device 104) ofa data path group of the NAN 102 of FIG. 1 may generate the controlmessage 1004, as described with reference to FIG. 10A. The controlmessage 1004 may indicate availability of data to be sent by theprovider device 104. The data may include the data 122 corresponding tothe first access category 1020, as described with reference to FIG. 10A.

The method 2900 also includes determining that transmission of thecontrol message is to be delayed, at 2904. For example, the device 1002of FIG. 10A may determine that transmission of the control message 1004is to be delayed, as described with reference to FIG. 10A.

The method 2900 further includes determining a first delay based on thefirst access category, at 2906. For example, the device 1002 of FIG. 10Amay determine the first delay 1042 based on the first access category1020, as described with reference to FIGS. 10A-10B.

The method 2900 also includes sending the control message from theprovider device upon expiration of a delay period, at 2908. For example,the device 1002 of FIG. 10A (e.g., the provider device 104) may send thecontrol message 1004 upon expiration of the delay period 1060, asdescribed with reference to FIG. 10B. The delay period 1060 may be basedon the first delay 1042, as described with reference to FIG. 10B.

The method 2900 may thus enable the provider device 104 to prioritizetransmission of control messages based on corresponding accesscategories. Control messages associated with higher priority data may betransmitted prior to messages (e.g., control messages or data packets)associated with lower priority data.

Referring to FIG. 30, a particular example of a method of operation isshown and generally designated 3000. The method 3000 may be performed bythe traffic advertisement analyzer 134 of the first subscriber device106 of FIG. 1, the device 1002 of FIG. 10, or both.

The method 3000 includes receiving a traffic advertisement at asubscriber device of a neighbor aware network (NAN) data path group froma provider device of the NAN data path group, at 3002. For example, thecontrol message generator 1030 of FIG. 10A (e.g., the first subscriberdevice 106) of a data path group of the NAN 102 of FIG. 1 may receivethe traffic advertisement 128 from the provider device 104 of the datapath group, as described with reference to FIG. 10A. The trafficadvertisement 128 may indicate availability of data to be sent by theprovider device 104. The data may include the data 122 associated withthe first access category 1020, as described with reference to FIG. 10A.

The method 3000 also includes generating a control message based on thetraffic advertisement, at 3004. For example, the control messagegenerator 1030 of FIG. 10A may generate the control message 1004 basedon the traffic advertisement 128, as described with reference to FIG.10A. The control message 1004 may include the ACK 138 or the triggermessage 150.

The method 3000 further includes determining that transmission of thecontrol message is to be delayed, at 3006. For example, the controlmessage generator 1030 of FIG. 10A may determine that transmission ofthe control message 1004 is to be delayed, as described with referenceto FIG. 10A.

The method 3000 also includes determining a first delay based on thefirst access category, at 3008. For example, the control messagegenerator 1030 of FIG. 10A may determine the first delay 1042 based onthe first access category 1020, as described with reference to FIGS.10A-10B.

The method 3000 further includes sending the control message from thesubscriber device to the provider device upon expiration of a delayperiod based on the first delay, at 3010. For example, the controlmessage generator 1030 of FIG. 10A may send the control message 1004from the first subscriber device 106 (e.g., the device 1002) to theprovider device 104 upon expiration of the delay period 1060, asdescribed with reference to FIGS. 10A-10B. The delay period 1060 may bebased on the first delay 1042.

The method 3000 may thus enable the first subscriber device 106 toprioritize transmission of control messages based on correspondingaccess categories. Control messages associated with higher priority datamay be transmitted prior to messages (e.g., control messages or datapackets) associated with lower priority data.

Referring to FIG. 31, a particular example of a method of operation isshown and generally designated 3100. The method 3100 may be performed bythe traffic advertisement generator 130 of the provider device 104 ofFIG. 1, the device 1002 of FIG. 10, or both.

The method 3100 includes generating a traffic advertisement at aparticular device, at 3102. For example, the traffic advertisementgenerator 130 of the provider device 104 may generate the trafficadvertisement 128, as described with reference to FIG. 1. The trafficadvertisement 128 may indicate availability of data to be sent by theprovider device 104 to multiple devices (e.g., the first subscriberdevice 106, the second subscriber device 108, the third subscriberdevice 110, the fourth subscriber device 112, or a combination thereof).

The method 3100 also includes sending, from the particular device, thetraffic advertisement during a paging window, at 3104. For example, thetraffic advertisement generator 130 of the provider device 104 may sendthe traffic advertisement 128 during the paging window 212, as describedwith reference to FIG. 2.

The method 3100 further includes receiving an unavailable message from afirst device of the multiple devices during a data transmission windowthat is subsequent to the paging window, at 3106. For example, thetraffic advertisement generator 130 of the provider device 104 mayreceive the unavailable message 1102 from the first subscriber device106 during the data transmission window 218 that is subsequent to thepaging window 212, as described with reference to FIG. 11.

The method 3100 also includes refraining from sending first data fromthe particular device to the first device during the data transmissionwindow in response to receiving the unavailable message from the firstdevice, at 3108. For example, the traffic advertisement generator 130 ofthe provider device 104 may refrain from sending the data 122 to thefirst subscriber device 106 during the data transmission window 218 inresponse to receiving the unavailable message 1102 from the firstsubscriber device 106. In a particular implementation, the trafficadvertisement generator 130 of the provider device 104 may, in responseto receiving the unavailable message 1102, retain the data 122 to besent to the first subscriber device 106. For example, the trafficadvertisement generator 130 of the provider device 104 may store thedata 122 in a memory. The traffic advertisement generator 130 may sendthe data 122 (e.g., the retained data) to the first subscriber device106 during a subsequent transmission window, as described with referenceto FIG. 1. For example, the traffic advertisement generator 130 may senda second traffic advertisement during a second paging window of a secondtransmission window. The second traffic advertisement may indicateavailability of data to be sent by the provider device 104 to at leastthe first subscriber device 106 during a second data transmission windowof the second transmission window. The data to be sent to the firstsubscriber device 106 during the second data transmission window mayinclude at least the retained data (e.g., the data 122).

The method 3100 may thus enable the provider device 104 to conserveresources (e.g., network resources, power, or both). For example, theprovider device 104 may conserve resources by refraining from sendingdata to a subscriber device during a data transmission window when thesubscriber device is unavailable to receive data during the datatransmission window.

Referring to FIG. 32, a particular example of a method of operation isshown and generally designated 3200. The method 3200 may be performed bythe traffic advertisement analyzer 134 of the first subscriber device106 of FIG. 1, the device 1002 of FIG. 10, or both.

The method 3200 includes receiving a traffic advertisement at a firstdevice from a particular device during a paging window, at 3202. Forexample, the first subscriber device 106 may receive the trafficadvertisement 128 from the provider device 104 during the paging window212, as described with reference to FIG. 2. The traffic advertisement128 may indicate availability of data to be sent by the provider device104.

The method 3200 also includes determining, during a data transmissionwindow, that the first device is unavailable to receive the data, at3204. For example, the traffic advertisement analyzer 134 of the firstsubscriber device 106 may determine, during the data transmission window218, that the first subscriber device 106 is unavailable to receive thedata, as described with reference to FIGS. 11-12.

The method 3200 further includes, in response to the determination, at3204, sending an unavailable message from the first device to theparticular device during the data transmission window, at 3206. Thetraffic advertisement analyzer 134 of the first subscriber device 106may send the unavailable message 1102 to the provider device 104 duringthe data transmission window 218 in response to determining that thefirst subscriber device 106 is unavailable to receive the data, asdescribed with reference to FIGS. 11-12.

The method 3200 may thus enable a subscriber device to send anunavailable message to inform a provider device that the subscriberdevice is unavailable to receive data. The provider device may conservernetwork resources by refraining from sending data to the subscriberdevice in response to receiving the unavailable message.

Referring to FIG. 33, a particular example of a method of operation isshown and generally designated 3300. The method 3300 may be performed bythe traffic advertisement generator 130 of the provider device 104 ofFIG. 1, the device 1002 of FIG. 10, or both.

The method 3300 includes generating a traffic advertisement at aparticular device, at 3302. For example, the traffic advertisementgenerator 130 of the provider device 104 may generate the trafficadvertisement 128, as described with reference to FIG. 1. The trafficadvertisement 128 may indicate availability of data to be sent by theprovider device 104 to multiple devices (e.g., the first subscriberdevice 106, the second subscriber device 108, the third subscriberdevice 110 of FIG. 1, or a combination thereof). The data may includefirst data (e.g., the data 122) to be sent to the first subscriberdevice 106 and second data (e.g., the data 122) to be sent to the secondsubscriber device 108. The data 122 sent to be sent to the firstsubscriber device 106 may be distinct from the data 122 to be sent tothe second subscriber device 108.

The method 3300 also includes sending, from the particular device, thetraffic advertisement during a paging window, at 3304. For example, thetraffic advertisement generator 130 of the provider device 104 may sendthe traffic advertisement 128 during the paging window 212, as describedwith reference to FIG. 2.

The method 3300 further includes receiving a limited availabilitymessage from the first device during the paging window or a datatransmission window that is subsequent to the paging window, at 3306.For example, the traffic advertisement generator 130 of the providerdevice 104 may receive the limited availability message 1302 from thefirst subscriber device 106 during the paging window 212, the datatransmission window 218, or both, as described with reference to FIGS.13-14.

The method 3300 also includes, in response to receiving the limitedavailability message from the first device, send the first data to thefirst device during the data transmission window prior to sending thesecond data to the second device during the data transmission window, at3308. For example, the traffic advertisement generator 130 of theprovider device 104 may, in response to receiving the limitedavailability message 1302 from the first subscriber device 106, send thefirst data (e.g., the data 122) to the first subscriber device 106 priorto sending the second data (e.g., the data 122) to the second subscriberdevice 108 during the data transmission window 218, as described withreference to FIGS. 13-14.

The method 3300 may thus enable a provider device to prioritize sendingdata to a subscriber device in response to receiving a partiallyavailable message from the subscriber device. Prioritizing sending thedata may increase a likelihood of the subscriber device receiving thedata prior to becoming unavailable.

Referring to FIG. 34, a particular example of a method of operation isshown and generally designated 3400. The method 3400 may be performed bythe traffic advertisement analyzer 134 of the first subscriber device106 of FIG. 1, the device 1002 of FIG. 10, or both.

The method 3400 includes receiving a traffic advertisement at a firstdevice from a particular device during a paging window, at 3402. Forexample, the traffic advertisement analyzer 134 of the first subscriberdevice 106 may receive the traffic advertisement 128 from the providerdevice 104 during the paging window 212, as described with reference toFIG. 2. The traffic advertisement 128 may indicate availability of datato be sent by the provider device 104.

The method 3400 also includes determining that the first device isexpected to be unavailable to receive the first data during a portion ofa data transmission window that is subsequent to the paging window, at3404. For example, the traffic advertisement analyzer 134 of the firstsubscriber device 106 may determine that the first subscriber device 106is expected to be unavailable to receive the first data during at leasta portion of the data transmission window 218 that is subsequent to thepaging window 212, as described with reference to FIGS. 13-14.

The method 3400 further includes, in response to the determination, at3404, sending a limited availability message from the first device tothe particular device during the paging window or the data transmissionwindow, at 3406. For example, the traffic advertisement analyzer 134 ofthe first subscriber device 106 may send the limited availabilitymessage 1302 to the provider device 104 during the paging window 212 orthe data transmission window 218 in response to determining that thefirst subscriber device 106 is expected to be unavailable to receive thefirst data, as described with reference to FIGS. 13-14.

The method 3400 may thus increase a likelihood of a subscriber devicereceiving data during a data transmission window. For example, thesubscriber device may send a partially available message to inform aprovider device that the subscriber device is unavailable during atleast a portion of a data transmission window. The provider device mayprioritize sending data to the subscriber device during the datatransmission window in response to receiving the partially availablemessage. The subscriber device may receive the data prior to becomingunavailable.

Referring to FIG. 35, a particular example of a method of operation isshown and generally designated 3500. The method 3500 may be performed bythe traffic advertisement analyzer 134 of the first subscriber device106 of FIG. 1, the device 1002 of FIG. 10, or both.

The method 3500 includes generating a traffic advertisement at aparticular device, at 3502. For example, the traffic advertisementgenerator 130 of the provider device 104 may generate the trafficadvertisement 128, as described with reference to FIG. 1. The trafficadvertisement 128 may indicate availability of data to be sent by theprovider device 104 to multiple devices (e.g., the first subscriberdevice 106, the second subscriber device 108, the third subscriberdevice 110, or a combination thereof).

The method 3500 also includes sending, from the particular device, thetraffic advertisement during a paging window, at 3504. For example, thetraffic advertisement generator 130 of the provider device 104 may sendthe traffic advertisement 128 during the paging window 212, as describedwith reference to FIG. 2.

The method 3500 further includes monitoring a communication channelduring a first portion of a data transmission window irrespective ofwhether an acknowledgement (ACK) is received during the paging window,at 3506. For example, the traffic advertisement generator 130 maymonitor a communication during the trigger slot 214 irrespective ofwhether the ACK 138 is received during the paging window 212, asdescribed with reference to FIGS. 15-18.

The method 3500 may enable a provider device to send data to asubscriber device irrespective of whether an ACK is received during apaging window. For example, the provider device may monitor acommunication channel during a first portion of a data transmissionwindow irrespective of whether an ACK is received during the pagingwindow. The provider device may send the data to the subscriber devicein response to receiving a trigger message from the subscriber deviceduring the first portion of the data transmission window.

Referring to FIG. 36, a particular aspect of a method of operation isshown and generally designated 3600. In a particular aspect, the method3600 may be performed by the traffic advertisement analyzer 134, trafficadvertisement generator 130, or both, of the device 104-114 of thesystem 100 of FIG. 1.

The method 3600 includes receiving a packet at a first device from asecond device, at 3602. For example, the first subscriber device 106 ofFIG. 1 may receive a packet that includes the data 122 from the providerdevice 104, as described with reference to FIG. 1. The first subscriberdevice 106 may be operating in a promiscuous mode, as described withreference to FIG. 1.

The method 3600 also includes selectively processing the packet based ondetermining the first device is associated with the second device, thepacket includes a group identifier of a group of devices including thefirst device, the packet corresponds to an active traffic sessionbetween the first device and the second device, or a combinationthereof, at 3604. The first subscriber device 106 (e.g., the trafficadvertisement analyzer 134) may selectively process the packet (e.g.,the data 122) based on determining that the first subscriber device 106is associated with the provider device 104, the packet includes a groupidentifier (e.g., a NAN cluster identifier or an NDL group identifier)of a group of devices (e.g., a NAN cluster or an NDL group) thatincludes the first subscriber device 106, the packet corresponds to anactive traffic session between the first subscriber device 106 and theprovider device 104, or a combination thereof, as described withreference to FIG. 1. For example, the first subscriber device 106 mayprocess the packet (e.g., the data 122) in response to determining thatthe first subscriber device 106 is associated with the provider device104, the packet includes the group identifier (e.g., the NAN clusteridentifier or the NDL group identifier), the packet corresponds to anactive traffic session between the first subscriber device 106 and theprovider device 104, or a combination thereof. Alternatively, the firstsubscriber device 106 may refrain from processing the packet (e.g., thedata 122) in response to determining that the first subscriber device106 is not associated with the provider device 104, the packet does notinclude the group identifier (e.g., the NAN cluster identifier or theNDL group identifier), the packet does not correspond to an activetraffic session between the first subscriber device 106 and the providerdevice 104, or a combination thereof.

The method 3600 may thus enable a device to process a packetindependently of whether the packet indicates the device as adestination of the packet. The device may selectively process packetsbased on an association identifier included in the packet, a groupidentifier included in the packet, whether there is an active trafficsession between the device and a sender of the packet, or a combinationthereof.

Referring to FIG. 37, a particular aspect of a method of operation isshown and generally designated 3700. In a particular aspect, the method3700 may be performed by the traffic advertisement generator 130 of thedevice 104-114 of the system 100 of FIG. 1.

The method 3700 includes generating, at a device, a frame having aneighbor aware network (NAN) service discovery frame format, at 3702.For example, the provider device 104 (e.g., the traffic advertisementgenerator 130) of FIG. 1 may generate the traffic advertisement 2110having a NAN service discovery frame format, as described with referenceto FIGS. 21-22. The traffic advertisement 2110 may include the trafficannouncement attribute 2134 that indicates availability of data to besent by the provider device 104, as described with reference to FIGS.21-22.

The method 3700 also includes sending the frame during a communicationwindow, at 3704. For example, the provider device 104 of FIG. 1 may sendthe traffic advertisement 2110 of FIG. 21 during a communication window.

The method 3700 may thus enable the provider device 104 to send thetraffic advertisement 2110 to advertise availability of data to be sentby the provider device 104. A subscriber device may determine whetherthe provider device 104 has data to send to the subscriber device duringa transmission window based on the traffic advertisement 2110.

Referring to FIG. 38, a particular aspect of a method of operation isshown and generally designated 3800. In a particular aspect, the method3800 may be performed by the traffic advertisement generator 130 of thedevice 104-114 of the system 100 of FIG. 1.

The method 3800 includes receiving a frame at a first device from asecond device, at 3802. For example, the first subscriber device 106(e.g., the traffic advertisement analyzer 134) of FIG. 1 may receive thetraffic advertisement 2110 from the provider device 104, as describedwith reference to FIGS. 21-22. The traffic advertisement 2110 may have aneighbor aware network (NAN) service discovery frame format.

The method 3800 also includes determining the frame includes a trafficannouncement attribute indicating availability of data to be sent by thesecond device to one or more devices, at 3804. For example, the firstsubscriber device 106 (e.g., the traffic advertisement analyzer 134) ofFIG. 1 may determine the traffic advertisement 2110 includes the trafficannouncement attribute 2134 indicating availability of data to be sentby the provider device 104 to one or more devices, as described withreference to FIGS. 21-22.

The method 3800 further includes monitoring a communication channelduring a NAN data link (NDL) time block based on the determination, at3806. For example, the first subscriber device 106 (e.g., the trafficadvertisement analyzer 134) of FIG. 1 may monitor a communicationchannel during an NDL time block based on the determination, asdescribed with reference to FIGS. 21-22.

The method 3800 may thus enable a subscriber device to determine whetherthe provider device 104 has data to send to the subscriber device duringan NDL block based on the traffic advertisement 2110. The subscriberdevice may monitor a communication channel during the NDL block based onthe determination.

Referring to FIG. 39, a particular aspect of a method of operation isshown and generally designated 3900. In a particular aspect, the method3900 may be performed by the traffic advertisement generator 130 of thedevice 104-114 of the system 100 of FIG. 1.

The method 3900 includes generating, at a first device, a trafficadvertisement indicating availability of data to be sent by the firstdevice to at least one second device, at 3902. For example, the providerdevice 104 (e.g., the traffic advertisement generator 130) may generatethe traffic advertisement 128 indicating availability of data to be sentby the provider device 104 to at least one second device (e.g., thesubscriber devices 106, 108, and 110), as described with reference toFIGS. 1 and 19.

The method 3900 also includes sending the traffic advertisement duringan initial portion of a neighbor aware network (NAN) data link (NDL)time block, at 3904. For example, the provider device 104 (e.g., thetraffic advertisement generator 130) of FIG. 1 may send the trafficadvertisement 128 during an initial portion of an NDL time block.

The method 3900 further includes sending first data to the second deviceduring the NDL time block, at 3906. For example, the provider device 104(e.g., the traffic advertisement generator 130) may send the data 122 tothe first subscriber device 106 during the NDL time block, as describedwith reference to FIG. 19. The data 122 may be sent independently ofreceiving the ACK 138 responsive to the traffic advertisement 128 fromthe first subscriber device 106.

The method 3900 may thus enable the provider device 104 to use theentire NDL block to send the traffic advertisement 128, the data 122, orboth. The provider device 104 may send the data 122 earlier in the NDLblock without waiting to receive the ACK 138.

Referring to FIG. 40, a particular aspect of a method of operation isshown and generally designated 4000. In a particular aspect, the method4000 may be performed by the traffic advertisement analyzer 134 of thedevice 104-114 of the system 100 of FIG. 1.

The method 4000 includes receiving a traffic advertisement at a firstdevice from a second device during an initial portion of a neighboraware network (NAN) data link (NDL) time block, at 4002. For example,the first subscriber device 106 (e.g., the traffic advertisementanalyzer 134) may receive the traffic advertisement 128 from theprovider device 104 during an initial portion of an NDL time block, asdescribed with reference to FIG. 1. The traffic advertisement 128 mayindicate availability of data to be sent by the provider device 104 toone or more recipient devices (e.g., the subscriber devices 106, 108,and 110).

The method 4000 also includes monitoring a communication channel at thefirst device during at least a first portion of the NDL block based ondetermining that the first device is included in the one or morerecipient devices, at 4004. For example, the first subscriber device 106may monitor a communication channel during at least a first portion ofthe NDL block based on determining that the first subscriber device 106is included in the one or more recipient devices, as described withreference to FIG. 19. The communication channel may be monitoredindependently of whether the ACK 138 responsive to the trafficadvertisement 128 is detected from the one or more recipient devices(e.g., the subscriber devices 106, 108, and 110).

Referring to FIG. 41, a particular aspect of a method of operation isshown and generally designated 4100. In a particular aspect, the method4100 may be performed by the traffic advertisement generator 130 of thedevice 104-114 of the system 100 of FIG. 1.

The method 4100 includes generating, at a first device, a traffic pageindicating that the first device will not send data to a second deviceduring a neighbor aware network (NAN) data link (NDL) time block, at4102. For example, the provider device 104 (e.g., the trafficadvertisement generator 130) of FIG. 1 may send the traffic page 1932indicating that the provider device 104 will not send data to the fourthsubscriber device 112 during an NDL time block, as described withreference to FIG. 19.

The method 4100 also includes transmitting the traffic page during theNDL time block, at 4104. For example, the provider device 104 (e.g., thetraffic advertisement generator 130) of FIG. 1 may transmit the trafficpage 1932 during the NDL time block.

The method 4100 may thus enable the provider device 104 to send thetraffic page 1932 to indicate that the provider device 104 will not senddata to one or more non-recipient devices during an NDL time block. Asubscriber device may monitor a communication channel during the NDLtime block prior to receiving the traffic page 1932. The subscriberdevice may transition to an inactive mode during a remaining portion ofthe NDL time block in response to determining that the traffic page 1932indicates that that the non-recipient devices include the subscriberdevice. In a particular aspect, the subscriber device may not receivethe traffic page 1932 and may monitor the communication channel duringthe NDL time block. The provider device 104 may use the entire NDL timeblock to send the data 122.

Referring to FIG. 42, a particular aspect of a method of operation isshown and generally designated 4200. In a particular aspect, the method4200 may be performed by the traffic advertisement analyzer 134 of thedevice 104-114 of the system 100 of FIG. 1.

The method 4200 includes receiving a traffic page at a first device froma second device, at 4202. For example, the first subscriber device 106(e.g., the traffic advertisement analyzer 134) of FIG. 1 may receive thetraffic page 1932 from the provider device 104, as described withreference to FIG. 19. The traffic page 1932 may indicate that theprovider device 104 will not send data to one or more non-recipientdevices (e.g., the fourth subscriber device 112).

The method 4200 also includes determining whether to monitor acommunication channel during a first portion of a neighbor aware network(NAN) data link (NDL) time block based on whether the first device isincluded in the one or more non-recipient devices, at 4204. For example,the first subscriber device 106 (e.g., the traffic advertisementanalyzer 134) of FIG. 1 may determine whether to monitor a communicationchannel during a first portion of an NDL time block based on whether thefirst subscriber device 106 is included in the one or more non-recipientdevices, as described with reference to FIG. 20.

The method 4200 may enable a subscriber device to determine whether tomonitor a communication channel during an NDL time block based onreceiving the traffic page 1932 from the provider device 104. Thetraffic page 1932 may indicate that the provider device 104 will notsend data to one or more non-recipient devices. The subscriber devicemay determine whether to monitor the communication channel based onwhether the non-recipient devices include the subscriber device.

Referring to FIG. 43, a particular aspect of a method of operation isshown and generally designated 4300. In a particular aspect, the method4300 may be performed by the traffic advertisement analyzer 134 of thedevice 104-114 of the system 100 of FIG. 1.

The method 4300 includes monitoring, at a first device, a communicationchannel during a first portion of a neighbor aware network (NAN) datalink (NDL) time block independently of receiving a traffic advertisementfrom a second device indicating that the second device will send firstdata to the first device during the transmission window, at 4302. Forexample, the first subscriber device 106 (e.g., the trafficadvertisement analyzer 134) of FIG. 1 may monitor a communicationchannel during a first portion of an NDL time block independently ofreceiving the traffic advertisement 128 from the provider device 104, asdescribed with reference to FIG. 20. The traffic advertisement 128 mayindicate that the provider device 104 will send data to the firstsubscriber device 106 during the transmission window.

The method 4300 also includes receiving the first data from the seconddevice during the first portion of the NDL time block, at 4304. Forexample, the first subscriber device 106 (e.g., the trafficadvertisement analyzer 134) of FIG. 1 may receive the data 122 form theprovider device 104 during the first portion of the NDL time block.

The method 4300 may thus enable a subscriber device to receive data fromthe provider device 104 independently of receiving a trafficadvertisement from the provider device 104. The provider device 104 maynot send the traffic advertisement and use the entire NDL time block tosend the data 122.

Referring to FIG. 44, a particular aspect of a method of operation isshown and generally designated 4400. In a particular aspect, the method4400 may be performed by the traffic advertisement generator 130, thetraffic advertisement analyzer 134, or both, of the device 104-114 ofthe system 100 of FIG. 1.

The method 4400 includes generating, at a first device, a notice ofabsence indicating that the first device is unavailable to participatein at least one neighbor aware network (NAN) data link (NDL) group, at4402. For example, the third subscriber device 110 of FIG. 1 maygenerate the notice of absence 1934 indicating that the third subscriberdevice 110 is unavailable to participate in at least one NDL group, asdescribed with reference to FIG. 19.

The method 4400 also includes transmitting, from the first device, thenotice of absence during a NAN discovery window, at 4404. For example,the third subscriber device 110 of FIG. 1 may transmit the notice ofabsence 1934 during a NAN discovery window, as described with referenceto FIG. 19.

The method 4400 may thus enable a device to send information indicatingthat the device is unavailable to participate in at least one NDL group.Other devices may refrain from sending data associated with the at leastone NDL group to the device in response to receiving the information.

Referring to FIG. 45, a particular aspect of a method of operation isshown and generally designated 4500. In a particular aspect, the method4500 may be performed by the traffic advertisement generator 130, thetraffic advertisement analyzer 134, or both, of the device 104-114 ofthe system 100 of FIG. 1.

The method 4500 includes receiving a notice of absence at a first devicefrom a second device during a neighbor aware network (NAN) discoverywindow, at 4502. For example, the provider device 104 of FIG. 1 mayreceive the notice of absence 1934 from the third subscriber device 110during the NAN discovery window, as described with reference to FIG. 19.The notice of absence 1934 may indicate that the third subscriber device110 is unavailable to participate in at least one NAN data link (NDL)group.

The method 4500 also includes determining that the first device will notsend first data associated with the at least one NDL group to the seconddevice during at least a portion of one or more discovery intervalssubsequent to the NAN discovery window, at 4504. For example, theprovider device 104 of FIG. 1 may determine that first data associatedwith the at least one NDL group is not to be sent to the thirdsubscriber device 110 during at least a portion of a first discoveryinterval subsequent to the NAN discovery window, as described withreference to FIG. 19. As another example, the provider device 104 ofFIG. 1 may determine that first data associated with the at least oneNDL group is not to be sent to the third subscriber device 110 duringmultiple discovery intervals subsequent to the NAN discovery window.

The method 4500 may thus enable a first device to receive a notice ofabsence from a second device indicating that the second device isunavailable to participate in at least one NDL group. The first devicemay refrain from sending data associated with the at least one NDL groupto the second device based on the notice of absence.

Referring to FIG. 46, a particular aspect of a method of operation isshown and generally designated 4600. In a particular aspect, the method4600 may be performed by the traffic advertisement generator 130 of thedevice 104-114 of the system 100 of FIG. 1.

The method 4600 includes exchanging, at a first device, a negotiationmessage with a second device, at 4602. For example, the provider device104 of FIG. 1 may exchange a negotiation message (e.g., the firstnegotiation message 1928, the second negotiation message 1938, or both)with the first subscriber device 106, as described with reference toFIG. 19.

The method 4600 also includes determining, at the first device, whetherto send a traffic message during a transmission window based on thenegotiation message, at 4604. For example, the provider device 104 ofFIG. 1 may determine whether to send the traffic message 1930 during atransmission window based on the negotiation message (e.g., the firstnegotiation message 1928, the second negotiation message 1938, or both).

The method 4600 may thus enable a first device to negotiate with anotherdevice as to whether traffic messages are to be exchanged during atransmission window. The first device may send a traffic message to asecond device in response to determining that a negotiation messageindicates that traffic messages are to be exchanged. For example, anegotiation message including a power save request may indicate thattraffic messages are to be exchanged during the transmission window.

Referring to FIG. 47, a particular aspect of a method of operation isshown and generally designated 4700. In a particular aspect, the method4700 may be performed by the traffic advertisement analyzer 134 of thedevice 104-114 of the system 100 of FIG. 1.

The method 4700 includes exchanging, at a first device, a negotiationmessage with a second device, at 4702. For example, the first subscriberdevice 106 of FIG. 1 may exchange a negotiation message (e.g., the firstnegotiation message 1928, the second negotiation message 1938, or both)with the provider device 104, as described with reference to FIG. 19.

The method 4700 also includes receiving a traffic message from thesecond device, at 4704. For example, the first subscriber device 106 ofFIG. 1 may receive the traffic message 1930 from the provider device104, as described with reference to FIG. 19.

The method 4700 further includes selectively processing the trafficmessage based on the negotiation message, at 4706. For example, thefirst subscriber device 106 of FIG. 1 may selectively process thetraffic message 1930 based on the negotiation message (e.g., the firstnegotiation message 1928, the second negotiation message 1938, or both).To illustrate, the first subscriber device 106 may process the trafficmessage 1930 in response to determining that the negotiation message(e.g., the first negotiation message 1928, the second negotiationmessage 1938, or both) indicates a power save request, as described withreference to FIG. 19. Alternatively, the first subscriber device 106 mayrefrain from processing the traffic message 1930 in response todetermining that the negotiation message (e.g., the first negotiationmessage 1928, the second negotiation message 1938, or both) does notindicate a power save request, as described with reference to FIG. 19.

The method 4700 may thus enable a first device to negotiate with anotherdevice as to whether traffic messages are to be exchanged during atransmission window. The first device may refrain from processing atraffic message in response to determining that a negotiation messageindicates that traffic messages are not to be exchanged during thetransmission window.

Referring to FIG. 48, a particular aspect of a method of operation isshown and generally designated 4800. In a particular aspect, the method4800 may be performed by the traffic advertisement generator 130 of thedevice 104-114 of the system 100 of FIG. 1.

The method 4800 includes generating, at a first device, a serviceadvertisement indicating that the first device supports trafficmessaging, at 4802. For example, the provider device 104 of FIG. 1 maygenerate a service advertisement indicating that the provider device 104supports traffic messaging, as described with reference to FIG. 19.

The method 4800 also includes transmitting the service advertisement, at4804. For example, the provider device 104 of FIG. 1 may transmit theservice advertisement.

The method 4800 may thus enable a first device to advertise whether thefirst device supports traffic messaging associated with a particularservice. Another device may determine whether to participate in aparticular NDL group corresponding to the particular service based onwhether the first device supports traffic messaging associated with theparticular service.

Referring to FIG. 49, a particular illustrative aspect of a wirelesscommunication device is depicted and generally designated 4900. Thedevice 4900 includes a processor 4910, such as a digital signalprocessor, coupled to a memory 4932. In an illustrative aspect, thedevice 4900, or components thereof, may correspond to the device 104-114of FIG. 1, the device 1002 of FIG. 10A, or components thereof. Theprocessor 4910 may include the traffic advertisement generator 130(e.g., the control message generator 1030 of FIG. 10A), the trafficadvertisement analyzer 134 (e.g., the control message generator 1030 ofFIG. 10A), or both.

The processor 4910 may be configured to execute software (e.g., aprogram of one or more instructions 4968) stored in the memory 4932.Additionally or alternatively, the processor 4910 may be configured toimplement one or more instructions stored in a memory of a wirelessinterface 4940 (e.g., an Institute of Electrical and ElectronicsEngineers (IEEE) 802.11 compliant interface). For example, the wirelessinterface 4940 may be configured to operate in accordance with one ormore wireless communication standards, including one or more IEEE 802.11standards and one or more NAN standards. In a particular aspect, theprocessor 4910 may be configured to perform one or more operations ormethods described with reference to FIGS. 1-48. For example, theprocessor 4910 may be configured to monitor one or more communicationchannels during one or more associated paging windows, one or moretrigger slots, one or more data transmission windows, one or moreportions of data transmission windows, or a combination thereof. Theprocessor 4910 may be configured to generate the traffic advertisement128 of FIG. 1 and to send the traffic advertisement 128 via one or morecommunication channels. To illustrate, the processor 4910 may beconfigured to add the traffic advertisement 128 of FIG. 1 to the firsttransmission queue 1010 of FIG. 10A based on the first access category1020 of FIG. 10A and may be configured to process the first transmissionqueue 1010 in an order or at a time based on the first access category1020. The processor 4910 may be configured to receive the ACK 138 ofFIG. 1 via one or more communication channels. The processor 4910 may beconfigured to send the trigger request 544 of FIG. 1 via one or morecommunication channels. To illustrate, the processor 4910 may beconfigured to add the trigger request 544 of FIG. 5 to the firsttransmission queue 1010 of FIG. 10A based on the first access category1020 of FIG. 10A and may be configured to process the first transmissionqueue 1010 in an order or at a time based on the first access category1020. The processor 4910 may be configured to receive the triggermessage 150 of FIG. 1 via one or more communication channels. Theprocessor 4910 may be configured to send the data 122 of FIG. 1 via oneor more communication channels. The processor 4910 may be configured totransition to an inactive mode during one or more paging windows, one ormore trigger slots, one or more data transmission windows, one or moreportions of data transmission windows, or a combination thereof.

As another example, the processor 4910 may be configured to receive thetraffic advertisement 128 of FIG. 1 via one or more communicationchannels. The processor 4910 may be configured to send the ACK 138 ofFIG. 1 via one or more communication channels. To illustrate, theprocessor 4910 may be configured to add the ACK 138 of FIG. 1 to thefirst transmission queue 1010 of FIG. 10A based on the first accesscategory 1020 of FIG. 10A and may be configured to process the firsttransmission queue 1010 in an order or at a time based on the firstaccess category 1020. The processor 4910 may be configured to receivethe trigger request 544 of FIG. 1 via one or more communicationchannels. The processor 4910 may be configured to send the triggermessage 150 of FIG. 1 via one or more communication channels. Toillustrate, the processor 4910 may be configured to add the triggermessage 150 of FIG. 1 to the first transmission queue 1010 of FIG. 10Abased on the first access category 1020 of FIG. 10A and may beconfigured to process the first transmission queue 1010 in an order orat a time based on the first access category 1020. The processor 4910may be configured to receive the data 122 of FIG. 1 via one or morecommunication channels.

The wireless interface 4940 may be coupled to the processor 4910 and toan antenna 4942. For example, the wireless interface 4940 may be coupledto the antenna 4942 via a transceiver 136, such that wireless data maybe received via the antenna 4942 and may be provided to the processor4910.

A coder/decoder (CODEC) 4934 can also be coupled to the processor 4910.A speaker 4936 and a microphone 4938 can be coupled to the CODEC 4934. Adisplay controller 4926 can be coupled to the processor 4910 and to adisplay device 4928. In a particular aspect, the processor 4910, thedisplay controller 4926, the memory 4932, the CODEC 4934, and thewireless interface 4940 are included in a system-in-package orsystem-on-chip device 4922. In a particular aspect, an input device 4930and a power supply 4944 are coupled to the system-on-chip device 4922.Moreover, in a particular aspect, as illustrated in FIG. 49, the displaydevice 4928, the input device 4930, the speaker 4936, the microphone4938, the antenna 4942, and the power supply 4944 are external to thesystem-on-chip device 4922. However, each of the display device 4928,the input device 4930, the speaker 4936, the microphone 4938, theantenna 4942, and the power supply 4944 can be coupled to one or morecomponents of the system-on-chip device 4922, such as one or moreinterfaces or controllers. In a particular aspect, the device 4900 mayinclude at least one of a communications device, a music player, a videoplayer, an entertainment unit, a navigation device, a personal digitalassistant (PDA), a mobile device, a computer, a decoder, or a set topbox.

In conjunction with the described aspects, an apparatus includes meansfor generating a traffic advertisement indicating availability of datato be sent to multiple subscriber devices of a set of subscriber devicesof a neighbor aware network (NAN) data path group. For example, themeans for generating may include the traffic advertisement generator130, the device 104-114, the processor 4910 programmed to execute theinstructions 4968, one or more other devices, circuits, or modulesconfigured to generate the traffic advertisement, or a combinationthereof. The data may include first data to be sent to a firstsubscriber device of the multiple subscriber devices and second data tobe sent to a second subscriber device of the multiple subscriberdevices.

The apparatus also includes means for receiving a first acknowledgement(ACK) during a paging window of the NAN data path group from the firstsubscriber device. For example, the means for receiving may include thetransceiver 136, one or more other devices, circuits, or modulesconfigured to receive a first ACK, or a combination thereof.

The apparatus further includes means for transmitting configured to sendthe traffic advertisement during the paging window, to send the firstdata to the first subscriber device during a data transmission window ofthe NAN data path group, and to send the second data to the secondsubscriber device during the data transmission window. For example, themeans for transmitting may include the transceiver 136, one or moreother devices, circuits, or modules configured to transmit the trafficadvertisement, to send the first data, and to send the second data, or acombination thereof. The second data may be sent without receiving asecond ACK from the second subscriber device during the paging window.

Further, in conjunction with the described aspects, an apparatusincludes means for receiving configured to receive a trafficadvertisement from a provider device of a neighbor aware network (NAN)data path group. For example, the means for receiving may include thetransceiver 136, one or more other devices, circuits, or modulesconfigured to receive the traffic advertisement, or a combinationthereof. The traffic advertisement indicates that the provider devicehas data to be sent to multiple subscriber devices of a set ofsubscriber devices of the NAN data path group.

The apparatus also includes means for subscribing to a serviceconfigured to determine whether the apparatus is a leader device of themultiple subscriber devices. For example, the means for subscribing mayinclude the traffic advertisement analyzer 134, the device 104-114, theprocessor 4910 programmed to execute the instructions 4968, one or moreother devices, circuits, or modules configured to determine whether theapparatus is the leader device of the multiple subscriber devices, or acombination thereof.

The apparatus further includes means for transmitting configured to sendan acknowledgement (ACK) to the provider device in response to a firstdetermination that the apparatus is the leader device, and to refrainfrom sending the ACK to the provider device in response to a seconddetermination that the apparatus is not the leader device. For example,the means for transmitting may include the transceiver 136, one or moreother devices, circuits, or modules configured to send the ACK inresponse to the first determination and to refrain from sending the ACKin response to the second determination, or a combination thereof.

Additionally, in conjunction with the described aspects, an apparatusincludes means for generating a control message indicating availabilityof data to be sent to at least one device of a set of devices. Forexample, the means for generating may include the traffic advertisementgenerator 130, the traffic advertisement analyzer 134, the device104-114, the device 1002, the control message generator 1030, theprocessor 4910 programmed to execute the instructions 4968, one or moreother devices, circuits, or modules configured to generate the controlmessage, or a combination thereof. The data may include first dataassociated with the first access category.

The apparatus also includes means for transmitting the control messageupon expiration of a delay period. For example, the means fortransmitting may include the transceiver 136, one or more other devices,circuits, or modules configured to send a control message, or acombination thereof. The delay period may be based on the first accesscategory.

Further, in conjunction with the described aspects, an apparatusincludes means for receiving a traffic advertisement from a providerdevice of a neighbor aware network (NAN) data path group. For example,the means for receiving may include the transceiver 136, one or moreother devices, circuits, or modules configured to receive the trafficadvertisement, or a combination thereof. The traffic advertisement mayindicate availability of data to be sent by the provider device. Thedata may include first data associated with a first access category.

The apparatus also includes means for generating a control message basedon the traffic advertisement, the means for generating configured todetermine a first delay based on the first access category in responseto determining that transmission of the control message is to bedelayed. For example, the means for generating may include the trafficadvertisement analyzer 134, the device 104-114, the device 1002, thecontrol message generator 1030, the processor 4910 programmed to executethe instructions 4968, one or more other devices, circuits, or modulesconfigured to generate the control message and to determine the firstdelay, or a combination thereof. The control message may include anacknowledgement (ACK) or a trigger message.

The apparatus further includes means for transmitting configured to sendthe control message to the provider device upon expiration of a delayperiod. For example, the means for transmitting may include thetransceiver 136, one or more other devices, circuits, or modulesconfigured to send the control message to the provider device uponexpiration of the delay period, or a combination thereof. The delayperiod may be based on the first delay.

Also, in conjunction with the described aspects, an apparatus includesmeans for generating a traffic advertisement indicating availability ofdata to be sent to multiple devices. For example, the means forgenerating may include the traffic advertisement generator 130, one ormore other devices, circuits, or modules configured to generate thetraffic advertisement, or a combination thereof.

The apparatus also includes means for sending the traffic advertisementduring a paging window. For example, the means for sending may includethe traffic advertisement generator 130, the transceiver 136, one ormore other devices, circuits, or modules configured to send the trafficadvertisement and to refrain from sending the first data, or acombination thereof. The means for sending may be configured to, inresponse to receiving an unavailable message from a first device of themultiple devices during a data transmission window that is subsequent tothe paging window, refrain from sending first data to the first deviceduring the data transmission window.

The apparatus further includes means for receiving the unavailablemessage from the first device during the data transmission window. Forexample, the means for receiving may include the traffic advertisementgenerator 130, the transceiver 136, one or more other devices, circuits,or modules configured to receive the unavailable message, or acombination thereof.

Further, in conjunction with the described aspects, an apparatusincludes means for receiving a traffic advertisement from a particulardevice during a paging window. For example, the means for receiving mayinclude the traffic advertisement analyzer 134, the transceiver 136, oneor more other devices, circuits, or modules configured to receive thetraffic advertisement, or a combination thereof. The trafficadvertisement 128 may indicate availability of data to be sent by theprovider device 104.

The apparatus may also include means for determining that the apparatusis unavailable to receive the data during a data transmission window.For example, the means for determining may include the trafficadvertisement analyzer 134, one or more other devices, circuits, ormodules configured to determine that the apparatus is unavailable toreceive the data, or a combination thereof.

The apparatus may further include means for sending an unavailablemessage to the particular device during the data transmission window inresponse to the determination that the apparatus is unavailable toreceive the data. For example, the means for sending may include thetraffic advertisement analyzer 134, the transceiver 136, one or moreother devices, circuits, or modules configured to send the unavailablemessage, or a combination thereof.

Also, in conjunction with the described aspects, an apparatus includesmeans for generating a traffic advertisement indicating availability ofdata to be sent to multiple devices. For example, the means forgenerating may include the traffic advertisement generator 130, one ormore other devices, circuits, or modules configured to generate thetraffic advertisement, or a combination thereof. The data includes firstdata to be sent to the first subscriber device 106 and second data to besent to the second subscriber device 108.

The apparatus also includes means for sending the traffic advertisementduring a paging window and, in response to receiving a partiallyavailable message from the first device, sending the first data to thefirst device during a data transmission window prior to sending thesecond data to the second device during the data transmission window.For example, the means for sending the traffic advertisement and sendingthe first data may include the traffic advertisement generator 130, thetransceiver 136, one or more other devices, circuits, or modulesconfigured to send the traffic advertisement and to send the first data,or a combination thereof. The data transmission window may be subsequentto the paging window.

The apparatus further includes means for receiving the partiallyavailable message from the first device during the paging window or thedata transmission window. For example, the means for receiving mayinclude the traffic advertisement generator 130, the transceiver 136,one or more other devices, circuits, or modules configured to receivethe partially available message, or a combination thereof.

Further, in conjunction with the described aspects, an apparatusincludes means for receiving a traffic advertisement from a particulardevice during a paging window. For example, the means for receiving mayinclude the traffic advertisement analyzer 134, the transceiver 136, oneor more other devices, circuits, or modules configured to receive thetraffic advertisement, or a combination thereof. The trafficadvertisement may indicate availability of data to be sent by theparticular device.

The apparatus also includes means for determining that the apparatus isexpected to be unavailable to receive the data during a portion of adata transmission window that is subsequent to the paging window. Forexample, the means for determining may include the traffic advertisementanalyzer 134, one or more other devices, circuits, or modules configuredto determine that the apparatus is expected to be unavailable, or acombination thereof.

The apparatus further includes means for sending a partially availablemessage to the particular device during the paging window or the datatransmission window in response to the determination that the apparatusis expected to be unavailable. For example, the means for sending mayinclude the traffic advertisement analyzer 134, the transceiver 136, oneor more other devices, circuits, or modules configured to send thepartially available message, or a combination thereof.

Also, in conjunction with the described aspects, an apparatus includesmeans for generating a traffic advertisement indicating availability ofdata to be sent to multiple devices. For example, the means forgenerating may include the traffic advertisement generator 130, one ormore other devices, circuits, or modules configured to generate thetraffic advertisement, or a combination thereof.

The apparatus also includes means for sending the traffic advertisementduring a paging window. For example, the means for sending may includethe traffic advertisement generator 130, the transceiver 136, one ormore other devices, circuits, or modules configured to send the trafficadvertisement, or a combination thereof.

The apparatus further includes means for monitoring a communicationchannel during a first portion of a data transmission windowirrespective of whether an acknowledgement (ACK) is received during thepaging window. For example, the means for monitoring may include thetraffic advertisement generator 130, the transceiver 136, one or moreother devices, circuits, or modules configured to monitor thecommunication channel, or a combination thereof. The data transmissionwindow may be subsequent to the paging window.

Further, in conjunction with the described aspects, an apparatusincludes means for receiving a packet at a first device from a seconddevice. For example, the means for receiving may include the transceiver136, the wireless interface 4940, one or more other devices, circuits,or modules configured to receive the packet, or a combination thereof.The first device may be configured to operate in a promiscuous mode.

The apparatus also include means for selectively processing the packet.For example, the means for selectively processing may include thetraffic advertisement generator 130, the traffic advertisement analyzer134, the processor 4910, one or more other devices, circuits, or modulesconfigured to selectively process the packet, or a combination thereof.The packet may be selectively processed based on determining that thefirst device is associated with the second device, that the packetincludes a group identifier of a group of devices including the firstdevice, that the packet corresponds to an active traffic session betweenthe first device and the second device, or a combination thereof. Thegroup of devices may correspond to a NDL group of a NAN cluster. Thegroup identifier may correspond to an NDL group identifier, a NANcluster identifier, or another value that is compliant with an IEEE802.11 specification.

Also, in conjunction with the described aspects, an apparatus includesmeans for generating a frame having a neighbor aware network (NAN)service discovery frame format, a NAN management frame format, or both.For example, the means for generating may include the trafficadvertisement generator 130, the processor 4910, one or more otherdevices, circuits, or modules configured to generate the frame, or acombination thereof. The frame may include a traffic announcementattribute that indicates availability of data to be sent.

The apparatus also includes means for sending the frame during acommunication window. For example, the means for sending the frame mayinclude the transceiver 136, the wireless interface 4940, one or moreother devices, circuits, or modules configured to send the frame, or acombination thereof.

Further, in conjunction with the described aspects, an apparatusincludes means for receiving a frame from a device. For example, themeans for receiving may include the transceiver 136, the wirelessinterface 4940, one or more other devices, circuits, or modulesconfigured to receive the frame, or a combination thereof. The frame mayhave a neighbor aware network (NAN) service discovery frame format.

The apparatus also includes means for monitoring a communication channelduring a neighbor aware network (NAN) data link (NDL) time block basedon determining that the frame includes a traffic announcement attributeindicating availability of data to be sent by the device to one or moresecond devices. For example, the means for monitoring may include thetraffic advertisement analyzer 134, the processor 4910, one or moreother devices, circuits, or modules configured to selectively processthe packet, or a combination thereof.

Also, in conjunction with the described aspects, an apparatus includesmeans for generating a traffic advertisement indicating availability ofdata to be sent to at least one second device. For example, the meansfor generating may include the traffic advertisement generator 130, theprocessor 4910, one or more other devices, circuits, or modulesconfigured to generate the traffic advertisement, or a combinationthereof.

The apparatus also includes means for sending the traffic advertisementduring an initial portion of a neighbor aware network (NAN) data link(NDL) time block and sending first data to the second device during theNDL time block. For example, the means for sending may include thetransceiver 136, the wireless interface 4940, one or more other devices,circuits, or modules configured to send the traffic advertisement, or acombination thereof. The first data may be sent independently ofreceiving an acknowledgement (ACK) responsive to the trafficadvertisement from the second device.

Further, in conjunction with described aspects, an apparatus includesmeans for receiving a traffic advertisement at a first device from asecond device during an initial portion of a neighbor aware network(NAN) data link (NDL) time block. For example, the means for receivingmay include the transceiver 136, the wireless interface 4940, one ormore other devices, circuits, or modules configured to receive thetraffic advertisement, or a combination thereof. The trafficadvertisement may indicate availability of data to be sent by the seconddevice to one or more recipient devices.

The apparatus also includes means for monitoring a communication channelduring at least a first portion of the NDL time block based ondetermining that the first device is included in the one or morerecipient devices. For example, the means for monitoring may include thetraffic advertisement analyzer 134, the processor 4910, one or moreother devices, circuits, or modules configured to monitor thecommunication channel, or a combination thereof. The communicationchannel may be monitored independently of whether an acknowledgment(ACK) responsive to the traffic advertisement is detected from the oneor more recipient devices.

Also, in conjunction with described aspects, an apparatus includes meansfor generating a traffic page at a first device indicating that thefirst device will not send data to a second device during neighbor awarenetwork (NAN) data link (NDL) time block. For example, the means forgenerating a traffic page may include the traffic advertisementgenerator 130, the processor 4910, one or more other devices, circuits,or modules configured to generate the traffic page, or a combinationthereof.

The apparatus also includes means for transmitting the traffic pageduring the NDL time block. For example, the means for transmitting mayinclude the transceiver 136, the wireless interface 4940, one or moreother devices, circuits, or modules configured to transmit the trafficpage, or a combination thereof.

Further, in conjunction with described aspects, an apparatus includesmeans for receiving a traffic page at a first device from a seconddevice. For example, the means for receiving may include the transceiver136, the wireless interface 4940, one or more other devices, circuits,or modules configured to receive the traffic page, or a combinationthereof. The traffic page may indicate that the second device will notsend data to one or more non-recipient devices.

The apparatus also includes means for determining whether to monitor acommunication channel during a first portion of a neighbor aware network(NAN) data link (NDL) time block based on whether the first device isincluded in the one or more non-recipient devices. For example, themeans for determining whether to monitor may include the trafficadvertisement analyzer 134, the processor 4910, one or more otherdevices, circuits, or modules configured to monitor the communicationchannel, or a combination thereof.

Also, in conjunction with described aspects, an apparatus includes meansfor monitoring a communication channel at a first device during aneighbor aware network (NAN) data link (NDL) time block independently ofreceiving a traffic advertisement from a second device indicating thatthe second device will send first data to the first device during theNDL time block. For example, the means for monitoring may include thetraffic advertisement analyzer 134, the processor 4910, one or moreother devices, circuits, or modules configured to monitor thecommunication channel, or a combination thereof.

The apparatus also includes means for receiving the first data from thesecond device during the NDL time block. For example, the means forreceiving may include the transceiver 136, the wireless interface 4940,one or more other devices, circuits, or modules configured to receivethe first data, or a combination thereof.

Further, in conjunction with described aspects, an apparatus includesmeans for generating, at a first device, a notice of absence indicatingthat the first device is unavailable to participate in at least oneneighbor aware network (NAN) data link (NDL) group. For example, themeans for generating may include the traffic advertisement analyzer 134,the processor 4910, one or more other devices, circuits, or modulesconfigured to generate the notice of absence, or a combination thereof.

The apparatus also includes means for transmitting the notice of absenceduring a NAN discovery window. For example, the means for transmittingthe notice of absence may include the transceiver 136, the wirelessinterface 4940, one or more other devices, circuits, or modulesconfigured to transmit the notice of absence, or a combination thereof.

Also, in conjunction with described aspects, an apparatus includes meansfor receiving a notice of absence from a device during a neighbor awarenetwork (NAN) discovery window. For example, the means for receiving mayinclude the transceiver 136, the wireless interface 4940, one or moreother devices, circuits, or modules configured to receive the notice ofabsence, or a combination thereof. The notice of absence may indicatethat the device is unavailable to participate in at least one NAN datalink (NDL) group.

The apparatus also includes means for determining that first dataassociated with the at least one NDL group is not to be sent to thedevice during at least a portion of one or more discovery intervalssubsequent to the NAN discovery window. For example, the means fordetermining may include the traffic advertisement generator 130, theprocessor 4910, one or more other devices, circuits, or modulesconfigured to determine that first data is not to be sent, or acombination thereof.

The apparatus may further include means for sending second dataassociated with a second NDL group to the device during an NDL timeblock corresponding to the second NDL group in response to determiningthat the at least one NDL group does not include the second NDL group.For example, the means for sending may include the transceiver 136, thewireless interface 4940, one or more other devices, circuits, or modulesconfigured to send second data, or a combination thereof. The NDL timeblock may occur during the portion of the one or more discoveryintervals. The NDL time block may correspond to a transmission window(e.g., the transmission window 740 of FIG. 7). For example, the NDL timeblock may include the paging window 212, the data transmission window218, or both.

Further, in conjunction with described aspects, an apparatus includesmeans for exchanging a negotiation message with a device. For example,the means for exchanging may include the transceiver 136, the wirelessinterface 4940, one or more other devices, circuits, or modulesconfigured to exchange the negotiation message, or a combinationthereof.

The apparatus also includes means for determining whether to send atraffic message during a neighbor aware network (NAN) data link (NDL)time block based on the negotiation message. For example, the means fordetermining may include the traffic advertisement generator 130, theprocessor 4910, one or more other devices, circuits, or modulesconfigured to determine whether to send the traffic message, or acombination thereof.

Also, in conjunction with described aspects, an apparatus includes meansfor exchanging a negotiation message with a device and receiving atraffic message from the device. For example, the means for exchangingmay include the transceiver 136, the wireless interface 4940, one ormore other devices, circuits, or modules configured to exchange thenegotiation message, or a combination thereof.

The apparatus also includes means for selectively processing the trafficmessage based on the negotiation message. For example, the means forselectively processing may include the traffic advertisement analyzer134, the processor 4910, one or more other devices, circuits, or modulesconfigured to selectively process the traffic message, or a combinationthereof. To illustrate, the means for selectively processing the trafficmessage may process the traffic message 1930 of FIG. 19 in response todetermining that the negotiation message (e.g., the first negotiationmessage 1928, the second negotiation message 1938, or both) indicates apower save request, as described with reference to FIG. 19.Alternatively, the means for selectively processing may refrain fromprocessing the traffic message 1930 in response to determining that thenegotiation message (e.g., the first negotiation message 1928, thesecond negotiation message 1938, or both) does not indicate a power saverequest, as described with reference to FIG. 19.

Further, in conjunction with described aspects, an apparatus includesmeans for generating a service advertisement indicating that trafficmessaging is supported. For example, the means for generating mayinclude the traffic advertisement generator 130, the processor 4910, oneor more other devices, circuits, or modules configured to generate theservice advertisement, or a combination thereof. Traffic messaging mayinclude traffic advertising indicating availability of data to be sentto one or more recipient devices, traffic paging indicating that data isnot to be sent to one or more non-recipient devices, or both.

The apparatus also includes means for transmitting the serviceadvertisement. For example, the means for transmitting may include thetransceiver 136, the wireless interface 4940, one or more other devices,circuits, or modules configured to transmit the service advertisement,or a combination thereof.

With regard to the described aspects, those of skill in the art wouldfurther appreciate that the various illustrative logical blocks,configurations, modules, circuits, and algorithm steps described inconnection with the aspects disclosed herein may be implemented aselectronic hardware, computer software executed by a processor, orcombinations of both. Various illustrative components, blocks,configurations, modules, circuits, and steps have been described abovegenerally in terms of their functionality. Whether such functionality isimplemented as hardware or processor executable instructions dependsupon the particular application and design constraints imposed on theoverall system. Skilled artisans may implement the describedfunctionality in varying ways for each particular application, but suchimplementation decisions should not be interpreted as causing adeparture from the scope of the present disclosure.

The steps of a method or algorithm described in connection with theaspects disclosed herein may be embodied directly in hardware, in asoftware module executed by a processor, or in a combination of the two.A software module may reside in random access memory (RAM), flashmemory, read-only memory (ROM), programmable read-only memory (PROM),erasable programmable read-only memory (EPROM), electrically erasableprogrammable read-only memory (EEPROM), registers, hard disk, aremovable disk, a compact disc read-only memory (CD-ROM), or any otherform of non-transient (e.g., non-transitory) storage medium known in theart. An exemplary storage medium is coupled to the processor such thatthe processor can read information from, and write information to, thestorage medium. In the alternative, the storage medium may be integralto the processor. The processor and the storage medium may reside in anapplication-specific integrated circuit (ASIC). The ASIC may reside in acomputing device or a user terminal. In the alternative, the processorand the storage medium may reside as discrete components in a computingdevice or user terminal.

The previous description of the disclosed aspects is provided to enablea person skilled in the art to make or use the disclosed aspects.Various modifications to these aspects will be readily apparent to thoseskilled in the art, and the principles defined herein may be applied toother aspects without departing from the scope of the disclosure. Thus,the present disclosure is not intended to be limited to the aspectsshown herein but is to be accorded the widest scope possible consistentwith the principles and novel features as defined by the followingclaims.

What is claimed is:
 1. A method of communication comprising: generatinga traffic advertisement at a particular device, the trafficadvertisement indicating availability of data to be sent by theparticular device to multiple devices; sending, from the particulardevice, the traffic advertisement during a paging window; receiving alimited availability message from a first device of the multipledevices; receiving an available message from a second device of themultiple devices; sending first data from the particular device to thefirst device during a data transmission window prior to sending seconddata from the particular device to the second device during the datatransmission window, wherein the data transmission window is subsequentto the paging window; subsequent to sending the first data from theparticular device to the first device, receiving an unavailable messagefrom the first device during the data transmission window; and inresponse to receiving the unavailable message from the first device,refraining from sending particular data from the particular device tothe first device during the data transmission window.
 2. The method ofclaim 1, further comprising, prior to receiving the unavailable messagefrom the first device, receiving an available message from the firstdevice indicating availability of the first device to receive trafficduring the data transmission window.
 3. The method of claim 2, whereinthe available message includes an acknowledgement (ACK) or a triggermessage.
 4. The method of claim 1, wherein a particular logical channelcorresponds to a particular communication channel and at least onetransmission window, wherein one or more devices of a set of devicesmonitor the particular communication channel during the paging window,and wherein the set of devices includes the multiple devices.
 5. Themethod of claim 4, wherein a particular transmission window of the atleast one transmission window includes the paging window and the datatransmission window, wherein the paging window corresponds to abeginning portion of the particular transmission window, and wherein thedata transmission window corresponds to a second portion of theparticular transmission window that is subsequent to the beginningportion.
 6. The method of claim 4, wherein the traffic advertisement issent by the particular device via the particular communication channelduring the paging window.
 7. The method of claim 1, wherein the seconddata is sent from the particular device to the second device subsequentto receiving the unavailable message from the first device.
 8. Acomputer-readable storage device storing instructions that, whenexecuted by a processor, cause the processor to perform operationscomprising: receiving a traffic advertisement at a first device from aparticular device during a paging window, the traffic advertisementindicating availability of data to be sent by the particular device;determining, during a data transmission window, that the first device isunavailable to receive the data; and in response to the determination,sending an unavailable message from the first device to the particulardevice during the data transmission window, wherein the unavailablemessage includes a quality of service null (QoS_NULL) frame or anotherframe, and wherein a particular value of a power management bit of aframe control field of a media access control (MAC) header of theunavailable message indicates that the first device is unavailable toreceive the data.
 9. The computer-readable storage device of claim 8,wherein the operations further comprise: prior to determining that thefirst device is unavailable to receive the data, sending a triggermessage from the first device to the particular device during the datatransmission window; and receiving first data from the particular deviceduring the data transmission window.
 10. The computer-readable storagedevice of claim 8, wherein the operations further comprise, subsequentto sending the unavailable message from the first device to theparticular device, transitioning the first device to a low-poweroperating mode or performing actions related to another network during aremaining portion of the data transmission window.
 11. Thecomputer-readable storage device of claim 10, wherein the actionsinclude participating in the other network, communicating with at leastone device of the other network, or both.
 12. The computer-readablestorage device of claim 10, wherein the traffic advertisement isassociated with a first neighbor aware network (NAN) data link (NDL)group, and wherein the other network includes a second NDL group, anaccess point (AP) based network, an infrastructure (Infra) basednetwork, an independent basic service set (IBSS) network, or a wirelessfidelity (WiFi) direct network.
 13. The computer-readable storage deviceof claim 8, wherein the first device comprises a data sink.
 14. Anapparatus comprising: a processor configured to generate a trafficadvertisement, the traffic advertisement indicating availability of datato be sent to multiple devices, wherein the data includes first data tobe sent to a first device of the multiple devices and second data to besent to a second device of the multiple devices; a transmitterconfigured to send the traffic advertisement during a paging window; anda receiver configured to receive a limited availability message from thefirst device, wherein the transmitter is further configured to, inresponse to determining that the limited availability message has beenreceived from the first device, send the first data to the first deviceduring a data transmission window prior to sending the second data tothe second device during the data transmission window, wherein the datatransmission window is subsequent to the paging window.
 15. Theapparatus of claim 14, wherein the limited availability message isreceived during the paging window or the data transmission window. 16.The apparatus of claim 14, wherein the limited availability message isreceived prior to the paging window during neighbor aware network (NAN)data link (NDL) setup or NDL schedule negotiation, wherein the receiveris further configured to receive a first trigger message from the firstdevice and to receive a second trigger message from the second device,wherein the first data is sent to the first device responsive to thefirst trigger message and the second data is sent to the second deviceresponsive to the second trigger message, and wherein, based ondetermining that the limited availability message has been received fromthe first device, the first data is sent prior to the second data. 17.The apparatus of claim 14, wherein the limited availability messageincludes a trigger message, an acknowledgement (ACK), or anothermessage.
 18. The apparatus of claim 14, wherein the multiple devicesinclude a set of subscriber devices of a neighbor aware network (NAN)data path group.
 19. The apparatus of claim 14, wherein the limitedavailability message indicates that the first device is expected to bepartially available during the data transmission window.
 20. Theapparatus of claim 14, wherein the processor is further configured to:receive a notice of absence from a first particular device during aneighbor aware network (NAN) discovery window, the notice of absenceindicating that the first particular device is unavailable toparticipate in at least one NAN data link (NDL) group; and determinethat first data associated with the at least one NDL group is not to besent to the first particular device during at least a portion of one ormore discovery intervals subsequent to the NAN discovery window.
 21. Theapparatus of claim 20, wherein the traffic advertisement is associatedwith the at least one NDL group, and wherein the first particular deviceis not included in the multiple devices based on detecting receipt ofthe notice of absence from the first particular device.
 22. Theapparatus of claim 20, wherein the traffic advertisement is associatedwith a second NDL group, and wherein the first particular device isincluded in the multiple devices based on detecting that the at leastone NDL group does not include the second NDL group.
 23. The apparatusof claim 22, wherein the traffic advertisement is sent during an NDLtime block that occurs during the portion of the one or more discoveryintervals.
 24. A computer-readable storage device storing instructionsthat, when executed by a processor, cause the processor to performoperations comprising: receiving a traffic advertisement at a firstdevice from a particular device during a paging window, the trafficadvertisement indicating availability of data to be sent by theparticular device; determining that the first device is expected to beunavailable during a portion of a data transmission window that issubsequent to the paging window; in response to determining that thefirst device is expected to be unavailable during the portion of thedata transmission window, sending a limited availability message fromthe first device to the particular device to cause the particular deviceto prioritize data transmission such that first data is sent to thefirst device prior to sending of second data to one or more devices thatare available during the data transmission window; receiving the firstdata at the first device from the particular device during the datatransmission window; subsequent to receiving the first data, determiningthat the first device is unavailable during a remaining portion of thedata transmission window; and in response to determining that the firstdevice is unavailable during the remaining portion of the datatransmission window, sending an unavailable message from the firstdevice to the particular device during the data transmission window. 25.The computer-readable storage device of claim 24, wherein the limitedavailability message indicates that the first device is expected to bepartially available during the data transmission window.
 26. Thecomputer-readable storage device of claim 24, wherein the limitedavailability message includes a trigger message, an acknowledgement(ACK), or another message.